Chinaunix
标题:
请教linux下多线程编程问题!
[打印本页]
作者:
eNsEmpire
时间:
2008-09-20 10:12
标题:
请教linux下多线程编程问题!
我先说明下我的情况:
example.c中有main函数,
pthread_mutex_t mymutex;//全局
main()
{
…… ……
pthread_mutex_init( &mymutex, NULL );
pthread_create( &id, NULL,
my_net_transfer
, NULL );
pthread_mutex_lock( &mymutex );
…… ……
pthread_mutex_unlock( &mymutex );
}
net.cpp中有
my_net_transfer
函数,
void my_net_transfer( void )
{
pthread_mutex_lock( &mymutex );
…… ……
pthread_mutex_unlock( &mymutex );
}
请问我这样写法有问题吗?
现在是进入my_net_transfer线程后老是会跑飞。
作者:
ytl
时间:
2008-09-20 10:33
main()
{
…… ……
pthread_mutex_init( &mymutex, NULL );
pthread_mutex_lock( &mymutex );
pthread_create( &id, NULL, my_net_transfer, NULL );
…… ……
pthread_mutex_unlock( &mymutex );
}
作者:
eNsEmpire
时间:
2008-09-20 11:25
这样在main中pthread_create是子线程吗?
如果main中pthread_mutex_unlock后直接return 0,那么子线程还会被终止运行而直接退出吗?
作者:
chenzhanyiczy
时间:
2008-09-20 14:56
是;
直接退出
作者:
scut_tang
时间:
2008-09-20 17:11
在main里加个pthread_join么。
作者:
eNsEmpire
时间:
2008-09-24 09:34
那我是如何保证等子线程完全运行完后,父线程才退出呢?
作者:
5毛党党员
时间:
2008-09-24 09:36
原帖由
eNsEmpire
于 2008-9-24 09:34 发表
那我是如何保证等子线程完全运行完后,父线程才退出呢?
在主线程推出前 用pthread_join 等待子线程结束
作者:
eNsEmpire
时间:
2008-09-25 11:28
谢谢兄台~~~
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2