ChinaUnix.net
相关文章推荐:

多线程编程中,信号量Semophore,互斥锁Mutex的作用和区别是什么?

#include #include #include "stdlib.h" pthread_cond_t cond; pthread_mutex_t mutex; void thread() { pthread_mutex_lock(&mutex); int i; pthread_cond_wait(&cond,&mutex); for(i=0;i<5;i++) { printf("This is a pthread %u.\n",pthread_self()); } pthread_mutex_unlock(&mutex); } void thread2() { int i; for(i=0;i<5;++i) ...

by cgp2001 - C/C++ - 2009-04-30 11:39:06 阅读(1780) 回复(2)

相关讨论

我正在编一个http proxy. 有些地方想不通. 主序在每收到一个新的客户端的请求 都会建立一个线去处理这个连接, 在处理连接的过,对于请求我用了select()设置了10秒的超时,当select返回值大于0时将建立一个线处理这次请求,小于0时关闭连接.之所以新开一个线是因为要实现pipelining. 这样就要求用mutex或是其他方式对client的socket进行同步,因为这些新开的线在接受请求或是返回回复的使用socket的时候会有冲突. 我觉得好...

by pandaface - C/C++ - 2004-05-03 08:36:44 阅读(3027) 回复(9)

学习,看到用户线对共享内存的获得释放,其讲到mutex: 例:线索在修改缓冲以前,首先获得这个缓冲mutex,然后把这个缓冲访问类型设为独占方式。 问题:mutex(门叉)本身就是实现互斥访问,应该说得到mutex以后,别人已经不可能再访问这个缓冲了,为什么还要加。 在书还有许地方讲到这种例子。究竟mutex是什么关系?请老大们指教!!!

by unixcrazy - Informix - 2003-10-02 18:08:32 阅读(1118) 回复(0)

class myClass { public: static myClass* getInstance(); bool find(const std::string& first,const std::string& second); private: pthread_mutex_t mymutex; std::map m_Map; }; 单体类,在主线一次性把数据写入m_Map,以后不再有写操作。在线通过myClass::getInstance()->find(first,second) 查找。 查找的时候肯定没有写操作,那么还需要mutex吗? 这个...

by cu0505 - C/C++ - 2008-05-12 08:46:54 阅读(2725) 回复(4)

大家发表一下自己的理解吧,我一会发答案.....

by redor - C/C++ - 2008-06-17 09:23:41 阅读(3633) 回复(7)

在一个线里面,有互斥的资源,如果都用pthread_mutex_t的pthread_mutex_lock来加解的话是不是作为一个整体来看。 比如资源A B,本来A B之间不用互斥,也就是不同线可以并发执行A B,但是用pthread_mutex_lock加后如果一个线了A,那么另一个线执行B前想加就只能等到A解了。有办法能解决这种种资源加的办法吗。

by zhongyj - C/C++ - 2008-09-02 12:32:50 阅读(2812) 回复(3)

我有2个线: 2个线有一个公用的结构体 rtsp_client; 1个主线,用于不停地从SOCKET接收媒体数据: 线1: [code] pthread_mutex_t lock; while(1) { pthread_mutex_lock(&lock); recv_data_from_socket(...); pthread_mutex_unlock(&lock); } [/code] 一个主要是为按键反映设计的线,当某个按键被按下时,线2会使用到 公用的结构体:rtsp_client; 线2: [code] int ret; ITI_Msg_t event; while(1) {...

by wliang511 - C/C++ - 2008-08-06 07:47:15 阅读(8063) 回复(7)
by drag00n - 其他UNIX - 2005-12-05 15:21:56 阅读(6503) 回复(10)

应用的场合可以确定没有recursive,而且是快进快出。 “non-recursive的pthread_mutex_t”“pthread_spinlock_t”,在性能上有吗? linux 2.6.9 kernel.

by wwwsq - C/C++ - 2009-04-14 11:03:03 阅读(4230) 回复(1)

我写了一个线池类,里面会开一组线,一组信号量mutex,在析构函数cancel掉线,destroy所有的mutex。问题就在这里,调用pthread_mutex_destroy的时候经常返回的不是0,而是16,也就是说,destroy失败了。这是为什么?

by l.darkfire - BSD - 2006-12-27 17:35:46 阅读(7749) 回复(16)
by wawxdyy - C/C++ - 2009-08-11 16:01:21 阅读(24285) 回复(17)