不要在pthread线程中使用printf()
来源:互联网 发布:杭州淘宝客服培训班 编辑:程序博客网 时间:2024/05/22 03:10
创建一个线程,printf()一些信息,
void *thread_dsp_comm(void *arg)
{
printf("in thread\n");
while (1) {
printf("I am here\n");
sleep_sec(1);
}
printf("thread exit\n");
return NULL;
}
在主线程中,cancel然后join,
pthread_cancel(m_thread);
pthread_join(m_thread, &res);
如果打开线程中的printf(),会导致pthread_join死机,线程也不会打印"I am here"
。即使你用信号量保护printf()也没有用。去掉printf(),一切正常。
可能是arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2库的
原因。
void *thread_dsp_comm(void *arg)
{
printf("in thread\n");
while (1) {
printf("I am here\n");
sleep_sec(1);
}
printf("thread exit\n");
return NULL;
}
在主线程中,cancel然后join,
pthread_cancel(m_thread);
pthread_join(m_thread, &res);
如果打开线程中的printf(),会导致pthread_join死机,线程也不会打印"I am here"
。即使你用信号量保护printf()也没有用。去掉printf(),一切正常。
可能是arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2库的
原因。
- 不要在pthread线程中使用printf()
- 在C++中使用pthread
- 不要在使用Sleep等待线程结束,不要在线程中操作界面
- Linux中pthread线程使用详解
- pthread线程使用小结
- pthread线程使用小结
- Linux中使用ptrace获取pthread线程的寄存器信息
- Linux中使用ptrace获取pthread线程的寄存器信息
- Linux中使用ptrace获取pthread线程的寄存器信息
- 不要在#include中使用".."
- 在不同的线程中使用printf打印调试信息居然引起程序CoreDump。
- c#多线程(二):不要在UI线程中使用死循环
- 在 Freescale CodeWarrior 中使用 printf( ) 函数
- 在MDK中使用printf及串口
- 在VS2013中继续使用printf,scanf
- 在VS2010中使用pthread多线程库的环境搭建
- 在C++类中使用pthread实现多线程
- 关于C++中posix pthread线程函数在类中封装的问题
- Spice project
- 使用VCS MX仿真VHDL
- usb debugging的实现机制 转载
- android备忘
- CCProgressTimer在cocos2d 2.0中的改变
- 不要在pthread线程中使用printf()
- 提取ipa里面的资源图片
- 去除静态文本框的背景色和设置颜色
- 图解 Git
- Sql Server 游标的使用
- 自定义input text里的时间格式
- 关于DNS、网关、DHCP等网络技术名词的解释
- Linux内核发送构造数据包的方式
- 最新、最全、最潮的手机移动APP资源设计网,每天都有新精彩哦!