大佬教程收集整理的这篇文章主要介绍了c – 对Qt和boost线程本地存储的限制,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
1)Qthreadstorage中可以存储的对象数量是否有限制?我遇到了一个关于256个QThreadStorage对象的qt查询,所以想澄清这个限制指向的是什么?
2)QThreadStorage是否仅适用于QThreads?
3)对升压有限制吗?
4)我有一个用例,我想在tls上操作并在所有线程完成进一步处理时将数据同步到主线程.我写了下面的代码,并想检查下面的代码是否正常.
#include <iostream> #include <boost/thread/thread.hpp> #include <boost/thread/tss.hpp> boost::mutex mutex1; int glob = 0; class data { public: char* p; data() { p = (char*)malloc(10); sprintf(p,"test%d\n",++glob); } }; char* global_p[11] = {0}; int index = -1; void cleanup(data* _ignored) { std::cout << "TLS cleanup" << std::endl; boost::mutex::scoped_lock lock(mutex1); global_p[++index] = _ignored->p; } boost::thread_specific_ptr<data> value(cleanup); void thread_proc() { value.reset(new data()); // initialize the thread's storage std::cout << "here" << std::endl; } int main(int argc,char* argv[]) { boost::thread_group threads; for (int i=0; i<10; ++i) threads.create_thread(&thread_proc); threads.join_all(); for (int i=0; i<10; ++i) puts(global_p[i]); }
以上是大佬教程为你收集整理的c – 对Qt和boost线程本地存储的限制全部内容,希望文章能够帮你解决c – 对Qt和boost线程本地存储的限制所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。