在多线程应用程序中,线程在执行期间处于非活动状态

时间:2019-05-15 09:31:19

标签: multithreading

一些线程在应用程序执行期间进入nanosleep_nocancel状态。其中一个线程碰巧只有循环中的switch语句进入非活动状态,这是因为其他线程正在影响哪个语句取决于依赖于非活动状态的线程所更新的变量。

我正在使用debian。我看不到线程进入非活动状态的原因,该状态是线程不等待I / O操作或调用睡眠或暂停。

while ( 1 )
{
    switch (num)
    {
    case 1:
        break;

    case 2:
    {
        test_var = 0x2;
    }
    break;

    default:
        break;
    }

}

我希望线程可以无中断地运行。

0 个答案:

没有答案