当前位置: 首页 > news >正文

如何申请免费网站wordpress如何修改密码

如何申请免费网站,wordpress如何修改密码,网络域名的网站,建设银行反钓鱼网站目录 线程的概念 线程的引出 什么是线程 理解线程比进程更加的轻量化 线程的优点 现成的缺点 线程异常 线程用途 Linux进程VS线程 线程的简单现象 线程的概念 有关操作系统的书籍或者课本都会这样描述线程#xff1a; 线程是比进程轻量化的一种执行流线程是进程内部…目录 线程的概念 线程的引出 什么是线程 理解线程比进程更加的轻量化 线程的优点 现成的缺点 线程异常 线程用途 Linux进程VS线程 线程的简单现象 线程的概念 有关操作系统的书籍或者课本都会这样描述线程 线程是比进程轻量化的一种执行流线程是进程内部的一种执行流 线程的引出 线程的概念让我们先从之前的进程谈起 一个进程的产生首先要将代码和数据从磁盘加载到内存中然后创建虚拟地址空间和页表让我们的虚拟空间和物理空间联系起来最后操作系统给这个进程创建PCB将PCB和虚拟地址空间建立联系这样PCB通过虚拟地址空间和页表可以找到物理内存中可执行程序的代码。这样一系列创建进程的流程对于进程来说地址空间是进程的资源窗口。 一个进程的出现从零到一,从无到有需要创建PCB申请资源空间各种初始化加载动态库加载代码各种映射整个过程耗时耗力成本非常高有没有一种可能我们创建一种特殊的”进程“只复用几经含有的进程的PCB进行创建PCB指向这个已经含有进程的虚拟地址空间。通过各种方法把不共享的区域拆成几分共享的保留。每个”进程“该执行自己的执行自己的该共享的共享。将页表进行切割实现区分。 和创建进程相比较这个特殊的进程只需要创建一个PCB创建非常的简单没有各种初始化和加载只参与进程资源的分配。非常的轻量化。在Linux操作系统中这个特殊的轻量化进程就是我们的线程。 什么是线程 在一个程序里的一个执行路线就叫做线程thread。更准确的定义是线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行本质是在进程地址空间内运行在Linux系统中在CPU眼中看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址空间可以看到进程的大部分资源将进程资源合理分配给每个执行流就形成了线程执行流 因此线程的本质 线程是CPU调度的基本单位线程是承担系统资源的基本实体。 那么对于之前文章中的进程是只含有一个执行流的进程今天的进程含有多个执行流每个执行流就是一个进程,也是一个线程。 理解线程比进程更加的轻量化 CPU对于一个进程的切换和一个进程的产生一样非常麻烦需要替换页表虚拟地址空间代码等各种数据。而对于一个线程来说只需要替换PCB既可线程通过对页表的切割每个线程依然可以通过页表找到或者访问到自己的数据。其实这样的切换对于现在CPU的速度来说是可以忽略不计的。 首先我们要清楚局部性原理对于CPU来说目前我们正在处理第10行代码有很大的概率接下来会处理第11行及以下的代码。根据冯诺依曼体系结构和木桶原理CPU再对第11行代码进行处理的时候势必要从内存中重新加载代码。因此我们可以在CPU中添加一个缓存cache根据局部性原理将接下来有很大概率被处理的代码预加载到这个缓存中即可保存在缓存中的数据称为热数据。那么我们在回头来看切换一个进程还需要将这个热数据进行切换而线程则不需要。因此线程是比进程更加的轻量化。 线程的优点 创建一个新线程的代价要比创建一个新进程小得多与进程之间的切换相比线程之间的切换需要操作系统做的工作要少很多线程占用的资源要比进程少很多能充分利用多处理器的可并行数量在等待慢速I/O操作结束的同时程序可执行其他的计算任务计算密集型应用为了能在多处理器系统上运行将计算分解到多个线程中实现I/O密集型应用为了提高性能将I/O操作重叠。线程可以同时等待不同的I/O操作。 现成的缺点 性能损失 一个很少被外部事件阻塞的计算密集型线程往往无法与共它线程共享同一个处理器。如果计算密集型线程的数量比可用的处理器多那么可能会有较大的性能损失这里的性能损失指的是增加了额外的同步和调度开销而可用的资源不变。 健壮性降低 编写多线程需要更全面更深入的考虑在一个多线程程序里因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的换句话说线程之间是缺乏保护的。 缺乏访问控制 进程是访问控制的基本粒度在一个线程中调用某些OS函数会对整个进程造成影响。 编程难度提高 编写与调试一个多线程程序比单线程程序困难得多 线程异常 单个线程如果出现除零野指针问题导致线程崩溃进程也会随着崩溃线程是进程的执行分支线程出异常就类似进程出异常进而触发信号机制终止进程进程终止该进程内的所有线程也就随即退出 线程用途 合理的使用多线程能提高CPU密集型程序的执行效率合理的使用多线程能提高IO密集型程序的用户体验如生活中我们一边写代码一边下载开发工具就是多线程运行的一种表现 Linux进程VS线程 进程是资源分配的基本单位线程是调度的基本单位 线程共享进程数据但也拥有自己的一部分数据: 线程ID 一组寄存器栈动态运行 errno 信号屏蔽字 调度优先级                                                                                                                                          硬件上下文动态切换 程的多个线程共享 同一地址空间,因此Text Segment、Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一个全局变量,在各线程中都可以访问到,除此之外,各线程还共享以下进程资源和环境: 文件描述符表每种信号的处理方式(SIG_ IGN、SIG_ DFL或者自定义的信号处理函数)当前工作目录用户id和组id 进程和线程的关系如下图: 线程的简单现象 7 8 // 新线程9 void *ThreadRoutine(void *arg)10 {11 const char *threadname (const char *)arg;12 while (true) 13 {14 std::cout I am a new thread: threadname , pid: getpid() std::endl;15 sleep(1); 16 }17 }18 19 int main()20 {21 // 已经有进程了22 pthread_t tid;23 pthread_create(tid, nullptr, ThreadRoutine, (void *)thread 1);24 25 26 27 // 主线程28 while (true)29 {30 std::cout I am main thread31 , pid: getpid() std::endl;32 sleep(1);33 } 34 return 0;} 上面的代码我们在主线程中创建了一个线程两个线程含有相同的PID而主线程的PID和LWP是一样的LWPLight Weight Process译为轻量级进程的意思。 今天对Linux下线程的概念的分享到这就结束了希望大家读完后有很大的收获也可以在评论区点评文章中的内容和分享自己的看法个人主页还有很多精彩的内容。您三连的支持就是我前进的动力感谢大家的支持!
http://www.hkea.cn/news/14593234/

相关文章:

  • 网站建设与管理的未来规划做企业网站制作
  • 建设局网站打不开是什么原因最新wordpress漏洞
  • 有合作社做网站得不访问wordpress速度慢
  • 数据表和网站建设的关系内网门户网站建设要求
  • 怎么做好seo内容优化十堰网站优化
  • 个人网店和网站的区别自己怎么设计公众号
  • 免费模板简历网站树莓派搭建wordpress
  • 企业网站模板 免费下载网站的前端和后台
  • 网站建设方案的征求意见福州市连江县建设局网站
  • 北京企业建设网站公司旅游景点推广软文
  • 网站代码关键词标题酒店如何做网站
  • 个人门户网站开发网站首页背景图片
  • 做网站学费多少钱九江市做网站的公司
  • 怡清源在慧聪网网站建设情况室内设计方案图
  • php网站开发第三章wordpress排版乱 了
  • 深圳网站建设中为个人订阅号支持微网站的建设吗
  • 成都高新区网站建设怎么给网站做404界面
  • 微信公众商城网站开发商务网站建设流程
  • 非营利组织网站建设会计分录网站程可以自己做吗
  • 网站备案背景那个视频网站好
  • 洛阳网站设计开发松山湖短视频seo排名
  • 做招聘网站需要哪些手续如何购买域名和服务器
  • 网站开发的基本知识青岛建设网站制作
  • Dw做网站怎么加logoseo如何提高网站排名
  • 国内做市场调查专业网站正版网站设计制作
  • 如何快速学成网站开发网页传奇怎么开
  • 手机版免费申请微网站网站建设书案例
  • 兼职做国外网站钻前潍坊网站建设wf3
  • 成都网站建设免费咨询游戏网站外链建设
  • html5 珠宝网站西宁网站设计公司价格