ChinaUnix.net
相关文章推荐:

pthread_mutex_init

把 mutexattr 设为空,不明白是加的什么锁?

by liuchanghu - C/C++ - 2004-06-14 11:47:43 阅读(1447) 回复(0)

相关讨论

RT 用代码际验证的结果,没有init一样工作,pthread_mutex_init做了什么呢?

by 傻旦 - C/C++ - 2011-08-06 16:45:07 阅读(21968) 回复(17)

UNIXWARE711系统怎么没有pthread_mutex_init系统调用?

by xzh2002 - 其他UNIX - 2003-11-19 21:18:57 阅读(1337) 回复(2)

如果一个pthread_mutext_t已经被初始化过了,但是还没被使用过,那么我可不可以再次对这个mutex调用pthread_mutex_init()进行第二次初始化?多次调用pthread_mutex_init()之后需要多次调用pthread_mutex_destroy()吗? 谢谢。

by wwwsq - C/C++ - 2009-03-30 23:03:14 阅读(7188) 回复(7)
by 初学人 - 其他UNIX - 2004-02-27 17:31:35 阅读(1151) 回复(0)

1.在栈上分配一个互斥量并初始化后(pthread_mutex_init()),必须调用pthread_mutex_destroy()吗? 2.动态分配一个互斥量(malloc)并初始化后(pthread_mutex_init()),在调用free之前为什么必须调用pthread_mutex_destroy()吗? pthread_mutex_destroy()到底起什么作用

by wangxiaoguang - C/C++ - 2008-08-28 15:30:11 阅读(9767) 回复(9)

class Inc:public Thread { public: Inc(int id, int *inc):Thread(id), value(inc){}; private: int *value; void run() { this->lock.enterCriticSection(); for(int i = 0; i < 30; ++i) { std::cout << (*value)++ << " thread_id " << this->id << std::endl; int s; for(int j = 0; j < 40000; ++j) //为了让cpu执行到时间片完而让与给其他线程 s++; } this->lock.leaveCriticSection(); } }; ...

by cheney_lang - C/C++ - 2008-01-16 14:43:15 阅读(6921) 回复(2)

我申请了pthread_mutex_t game_mut[MAX_GAMES]; 数组,并在主线程中进行了初始化 [code] for (i=0;ipthread_mutex_init(&(game_mut),NULL); }[/code] 但是我在线程里调用[code]pthread_mutex_lock(&(game_mut)); [/code]却总是被阻塞。我测试过用单个互斥变量没有问题,不会被阻塞。可以排除被其他线程锁定没有释放的原因,请各位老大指点指点 [ 本帖最后由 firebaby 于 2007-9-22 21:52 编辑 ]

by firebaby - C/C++ - 2007-09-22 22:13:38 阅读(2573) 回复(8)

一下代码源于http://www.unpbook.com/unpv13e.tar.gz,在unpv13e/server下. pthread08.c: #include "unpthread.h" #include "pthread08.h" void thread_make(int i) { void *thread_main(void *); pthread_create(&tptr.thread_tid, NULL, &thread_main, (void *) i); return; /* main thread returns */ } void * thread_main(void *arg) { int connfd; void web_child(int); printf("thread %d starting\n", (...

by peixubin - 程序开发 - 2006-02-10 11:02:04 阅读(1429) 回复(1)

pthread_mutex_t mutex; pthread_mutex_init(&mutex, NULL); void func() { pthread_mutex_lock(&mutex); // codings pthread_mutex_unlock(&mutex); } 问题: 1 一个线程A调用该函数(执行过程中),同时另一个线程B也调用该函数,B是被阻塞还是lock失败返回(man 中好象没有对这个进行说明呀 锁初始化时 type 指定为default) 2 是原子操作吗? codings执行中来了一个信号,线程如何动作??

by EndUser - C/C++ - 2004-01-12 15:45:18 阅读(2096) 回复(2)

这段代码那里有错误呢?执行的时候返回段错误。 #include<pthread.h> #include #include pthread_mutex_t mutex_t = pthread_mutex_initIALIZER; void *create_p(void *arg){ int status = pthread_mutex_lock(&mutex_t); printf("this pthread\n"); if(status !=0){ exit(1); } sleep(1); pthread_mutex_unlock(&mutex_t); } int main(){ pthread_t tid[29]; int i ...

by slei0827 - C/C++ - 2009-07-10 09:23:59 阅读(3451) 回复(8)