主题 : 请教一下关于线程的问题, 复制链接 | 浏览器收藏 | 打印
向你学习!
级别: 新手上路
UID: 11311
精华: 0
发帖: 19
金钱: 105 两
威望: 27 点
综合积分: 38 分
注册时间: 2009-12-03
最后登录: 2010-07-20
楼主  发表于: 2010-05-18 11:56

 请教一下关于线程的问题,

在对linux系统的应用编程里,涉及到线程的知识点,知道这块对后来的设计是非常重要的,参考了一些资料,

现如今仍为弄懂的问题:

1、如果父进程有多个线程,那么它的再在它的子进程中也应该拥有这些线程吗?

2、如果子进程拥有了与父进程一样的多个线程,如果父进程在read系统调用上被阻塞了会发生什么情况?是两个线程被阻塞在键盘上(一个属于父进程,另一个属于子进程)吗?


这两个问题在对线程这块,我感觉有点必要理解的,想找点官方的文字说明,或者有经验的师傅说说,


谢谢!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-05-18 12:27

1、如果父进程有多个线程,那么它的再在它的子进程中也应该拥有这些线程吗?

当fork()被调用时,父进程中只有调用fork()的线程会被复制到子进程中。

2、如果子进程拥有了与父进程一样的多个线程,如果父进程在read系统调用上被阻塞了会发生什么情况?是两个线程被阻塞在键盘上(一个属于父进程,另一个属于子进程)吗?

可以这么理解,如果这种情况真的发生的话。
[ 此帖被kasim在2010-05-18 12:42重新编辑 ]
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
向你学习!
级别: 新手上路
UID: 11311
精华: 0
发帖: 19
金钱: 105 两
威望: 27 点
综合积分: 38 分
注册时间: 2009-12-03
最后登录: 2010-07-20
2楼  发表于: 2010-05-18 14:25
谢谢版主,

对于第一个问题,我还再学习
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-05-18 14:27

 回 2楼(xbqcxy) 的帖子

找本讲Unix操作系统的书看看吧
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."