一.多进程是操作系统基本图像
二.线程
2.1线程引入
可以切指令不切表,也就是资源不动,指令执行分开,更加轻量化,从而提高效率,保留并发优点,避免进程切换代价,也就引入了线程.
2.2多线程例子
同时触发以及用yield交替执行
104是B的函数返回地址,将104压栈,其他也是陆续压栈,用两个执行序列和一个栈,就会发现第一个线程,居然返回的函数地址是404,也就是线程在乱跑.
解决办法,一个序列一个栈,切回线程要将栈切回,用一个地方存放栈指针也就是TCB(thread control block),esp是cpu寄存器(理解为大脑),利用TCB和栈配合就解决了多线程执行问题.
用户级线程缺点: 由于某个线程阻塞,导致进程阻塞,而内核并不知道,不会切换到下一个线程,会到另一个进程,这样浏览器例子就不会显示内容.
但是内核级线程就不会这样
参考:
标签:操作系统,--,线程,进程,多线程,TCB,104 来源: https://blog.csdn.net/fanzonghao/article/details/121191428
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。