boost::mutext和std::list的一个问题

Cadillac 2011-09-23 05:06:00
请求boost::mutext和std::list的一个问题

程序大体是这样

class CTest

{

public:

boost::mutex muTest;

。。。//其他不写

};


list<CTest>::iterator iter;

CTest testObj();

g_list.push_back(testObj);

在用到该类的对象时,是这样引用的:

list<CTest>::iterator iter = g_list.begin();

fun(list<CTest>::iterator iter)

{

boost::mutex::scoped_lock lock(iter->muTest); //程序每次到这里都一直在等待
,不知道什么原因

}
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
icosagon 2011-09-26
  • 打赏
  • 举报
回复
这个能编译通过?boost::mutex的拷贝构造函数是私有的
就想叫yoko 2011-09-23
  • 打赏
  • 举报
回复
这就是boost封装的互斥量呀, 免去了你释放互斥量的操作而已

你全工程搜索一下muTest吧
应该是别处lock了
Cadillac 2011-09-23
  • 打赏
  • 举报
回复
不太明白啊
能说的详细点么
我确信没有在其他地方lock啊
而且等了很久还在等待
就想叫yoko 2011-09-23
  • 打赏
  • 举报
回复
一直等待说明 互斥量已经在别处lock了
就想叫yoko 2011-09-23
  • 打赏
  • 举报
回复
//This will lock the mutex
scoped_lock<MutexType> lock(mutex);

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧