Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196420
  • 博文数量: 96
  • 博客积分: 1781
  • 博客等级: 上尉
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-07 12:31
文章分类

全部博文(96)

文章存档

2014年(1)

2013年(14)

2012年(44)

2011年(37)

分类: LINUX

2012-07-04 09:52:45

由于多线程非常适合多任务的项目使用,所以自己测试练习下。

1)多线程共享的变量是全局变量,而不是main里定义的变量,在多线程中,main是控制线程,其他线程里定义的变量是和他隔开的,只是都共享全局变量,所以在使用全局变量时,需要使用pthread_mutex等同步工具。

2)多线程之间是共享同一个signal处理函数的,所以一般只需要在一个线程里定义signal函数,如果多个线程里都定义了不同的signal,一般以最后一个signal为准,但我测试后发现如果main里signal在线程里的signal之后,则仍然是线程里定义的signal为准,感觉线程里signal调用要高于main里的signal调用,所以使用时要注意测试。

3)在多线程里使用fifo,当读fifo线程退出时,写fifo没有收到SIGFIFO信号,但写虽然继续但实际上没有真正写进去。


阅读(354) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~