⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000007.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;raner&nbsp;(lilo),&nbsp;信区:&nbsp;Linux&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;NACHOS论坛(7)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木调试站&nbsp;(Thu&nbsp;Jun&nbsp;&nbsp;4&nbsp;16:50:53&nbsp;1998)&nbsp;<BR>&nbsp;<BR>作&nbsp;&nbsp;家:&nbsp;solmon&nbsp;(所罗门王)&nbsp;on&nbsp;board&nbsp;'Unix'&nbsp;<BR>题&nbsp;&nbsp;目:&nbsp;NACHOS论坛(7)&nbsp;<BR>来&nbsp;&nbsp;源:&nbsp;&nbsp;鼓浪听涛站&nbsp;<BR>日&nbsp;&nbsp;期:&nbsp;Thu&nbsp;Mar&nbsp;&nbsp;6&nbsp;23:07:20&nbsp;1997&nbsp;<BR>出&nbsp;&nbsp;处:&nbsp;<A HREF="mailto:mysu@JingXian.xmu.edu.cn">mysu@JingXian.xmu.edu.cn</A>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在NACHOS中有一个小错误.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;NACHOS用一个全局变量标志当前需要Destroy的Thread.这个标志在各线程进行&nbsp;<BR>Switch时,可能被设置.实际上,这就是被调度下去的线程正要被Destroy.NACHOS的作&nbsp;<BR>者在呼叫Switch函数后,立即检查这个标志是否设定了,如果设定了,那么就真正地完&nbsp;<BR>成Destroy的动作.但此时,当前的活跃线程实际上是新调度上来的那个线程.如果新&nbsp;<BR>调度上来的线程没有从Switch函数中出来(只有一种情况会这样,那就是这个线程是&nbsp;<BR>刚刚启动的,所以进入了ThreadRoot,而非Switch),那么这个要被Destroy的线程就会&nbsp;<BR>被搁置在那里,没有立即被删除调.当然,下一次Switch时,也有机会删除这个线程,但&nbsp;<BR>是如果这个新被调度上来的线程正好也死去了,那么这个标志将会被覆盖,前面的那个&nbsp;<BR>线程的Destructor不会被叫用.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;综合上述,我们可以知道,在下面的情况下,NACHOS会产生一个错误:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.一个线程死去了,而新调度上来的那个线程是一个刚刚创建的线程.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.这个刚刚创建的线程在下一次被调度下去时,也死去了.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;产生的错误是前面死去的那个线程的Destructor没有被叫用,它占用的资源没有&nbsp;<BR>被释放.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>m※&nbsp;来源:.鼓浪听涛站&nbsp;bbs.xmu.edu.cn.[FROM:&nbsp;<A HREF="mailto:mysu@JingXian.xmu.ed]">mysu@JingXian.xmu.ed]</A>&nbsp;m&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木调试站&nbsp;Leeward.lib.tsinghua.edu.cn·[FROM:&nbsp;166.111.68.98]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -