当前位置: 技术问答>linux和unix
linux 下子线程不能执行的问题?
来源: 互联网 发布时间:2016-06-06
本文导语: 我在linux下,用C/C++写了一个多线程的程序。以前都还能还好执行。可是近期不知道为什么,程序中的子线程执行不了,主线程能执行。 具体做法: 我在程序中创建了一个线程,从线程中又创建了一些子线程。 主线...
我在linux下,用C/C++写了一个多线程的程序。以前都还能还好执行。可是近期不知道为什么,程序中的子线程执行不了,主线程能执行。
具体做法:
我在程序中创建了一个线程,从线程中又创建了一些子线程。
主线程能执行,可是子线程不能执行。
奇怪的是:我如果在shell命令行下,执行该程序以后,按“Ctrl+C”,子线程又可以执行了。
请问大家,这是什么原因,谁能帮我解决这个问题,我已经折腾了好几天了。
具体做法:
我在程序中创建了一个线程,从线程中又创建了一些子线程。
主线程能执行,可是子线程不能执行。
奇怪的是:我如果在shell命令行下,执行该程序以后,按“Ctrl+C”,子线程又可以执行了。
请问大家,这是什么原因,谁能帮我解决这个问题,我已经折腾了好几天了。
|
是不是主线程中有死循环导致子线程未活动执行呢。
你在创建子线程以后休眠 1 秒试试
你在创建子线程以后休眠 1 秒试试
|
既然用了ctrl+c后又可以执行,那干脆你就设一个timeout,超时就产生中断
|
这可是睡眠1000sec呀
|
用trap去捕捉中断