找回密码
 注册
查看: 665|回复: 6

问几个关于pthread的问题

[复制链接]
发表于 2003-8-5 13:44:59 | 显示全部楼层 |阅读模式
1.join和detach是什么含义?是类似于waitpid这样的功能可又不象?
2.线程间可以用ipc来互斥么?为什么特别定义pthread_mutex?
发表于 2003-8-5 18:57:50 | 显示全部楼层
如果创建的线程是可以join的,使用pthread_join就类似于waitpid,等待线程退出,而且可以要求pthread库释放资源
回复

使用道具 举报

发表于 2003-8-5 21:55:48 | 显示全部楼层
ipc, inter process communication.
process != thread.

check the vol 2 of unix network programming.
回复

使用道具 举报

 楼主| 发表于 2003-8-6 09:21:29 | 显示全部楼层
关于1.一个thread的例子里这样
创建t1
创建t2
join t2
join t1
为什么join t2之后t1就不运行了呢?一直要等到t2完成?

关于2.
从概念上来讲是这样没错,但使用上系统会区分对ipc的使用是在一个普通process中还是一个thread中么?
如果在两个thread中象正常的process那样创建-等待ipc会怎么样 无法创建 还是等不到?
其实本该试一试的 不过对pthread还有很多疑惑
回复

使用道具 举报

发表于 2003-8-6 19:50:15 | 显示全部楼层
pthread_mutex就象process中的semaphore.是协调thread之间的关系的,用于thread之间访问同一个共享资源时,防止出现异常的一种方法。
回复

使用道具 举报

发表于 2003-8-8 20:16:22 | 显示全部楼层
[quote:4dbda57974="wsm"]关于1.一个thread的例子里这样
创建t1
创建t2
join t2
join t1
为什么join t2之后t1就不运行了呢?一直要等到t2完成?

关于2.
从概念上来讲是这样没错,但使用上系统会区分对ipc的使用是在一个普通process中还是一个thread中么?
如果在两个thread中象正常的process那样创建-等待ipc会怎么样 无法创建 还是等不到?
其实本该试一试的 不过对pthread还有很多疑惑[/quote]

join 是一直到join的线程结束才退出的.
就好想TerminateThread一样
回复

使用道具 举报

 楼主| 发表于 2003-8-9 08:51:44 | 显示全部楼层
join之前 不是应该有这样几个xxx(也不知道叫什么好)在跑:
当前进程的程序
t1的程序
t2得程序
当前进程和t2 join为什么使得t1也停下来呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-8-11 12:03 , Processed in 0.037045 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表