相关疑难解决方法(0)

我在哪里可以找到C++ 0x同步原语的良好,可靠的文档?

我已经看到了::std::thread等等的文章::std::forward,但我没有看过任何好文章::std::atomic.当然,还有标准提案文件,但我还没有看到任何想要使用该设施的人的良好文档.

有没有?我在哪里可以找到它?

c++ documentation multithreading memory-model c++11

18
推荐指数
2
解决办法
2483
查看次数

valgrind在多线程套接字程序中停止

我正在用valgrind运行多线程套接字程序.客户端将通过TCP向服务器发送请求,然后忙于等待布尔值.当调用服务器响应服务的回调函数时,将设置布尔值.一旦收到响应(并设置了布尔标志),服务器将再次发出请求,并在循环中重复执行此操作.

我意识到对共享变量的非同步访问(布尔值)会导致线程问题,但我尝试使用pthread互斥,并且程序减慢了大约20%(速度在这里很重要).我有信心写共享布尔变量很好,因为它可以在一个循环中完成.

该程序在valgrind之外运行良好,但在使用valgrind运行时经常会失速.我让程序一夜之间运行..通常需要几秒钟才能完成,所以我不认为这是一个不等待程序完成的情况.线程由开源引擎框架(快速修复)管理,因此我不认为这是如何创建/管理线程的问题.

有没有人知道valgrind在多线程程序/忙等待循环/套接字通信(或这些的组合)周围的任何问题?

multithreading valgrind

5
推荐指数
2
解决办法
4841
查看次数