wordpress 导入网站wordpress文章分享代码

张小明 2026/3/2 21:26:33
wordpress 导入网站,wordpress文章分享代码,做移门的网站,网站建设 代表联系群众https://www.boost.org/doc/libs/1_55_0/doc/html/thread.html thread 当创建一个thread对象后,线程就立刻开始执行。 join()和timed_join()方法等待线程结束。 join()一直阻塞等待,直到线程结束。 timed_join()阻塞等待线程结束,或阻塞等待一定的时间段,然后不管线程是否…https://www.boost.org/doc/libs/1_55_0/doc/html/thread.htmlthread当创建一个thread对象后,线程就立刻开始执行。join()和timed_join()方法等待线程结束。join()一直阻塞等待,直到线程结束。timed_join()阻塞等待线程结束,或阻塞等待一定的时间段,然后不管线程是否结束都返回。detach()与线程执行体分离,线程执行体不受影响的继续执行直到运行结束。可以使用bind()和function库。thread类的3个静态成员函数:yield() 指示当前线程放弃时间片,允许其他的线程运行。sleep() 让线程睡眠等待一小段时间。hardware_concurrency() 获得硬件系统可并行的线程数量,即CPU数量。thread::this_thread 子命名空间:get_id() 获得线程IDyield() 放弃时间片sleep() 睡眠等待at_thread_exit(func)函数,允许“登记”一个线程在结束的时候执行可调用物func,无论线程是否被中断。interrupt() 中断线程,允许正在执行的线程被中断,被中断的线程会抛出一个thread_interrupted异常。创建线程4种方法以及分离或等待线程在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。void my_func() { std::cout "detach-分离 或 join-等待 线程" std::endl; } TEST(BoostThread, detachOrjoin)//简单线程,线程状态joinable、detached { boost::thread t(my_func); boost::thread::yield();//当前线程放弃余下的时间片。 std::cout t.joinable() std::endl; t.join(); boost::thread t1(my_func); std::cout t1.joinable() std::endl; t1.detach(); std::cout t1.joinable() std::endl; } //线程的创建需要传递给thread对象一个可调用物(函数或函数对象),它必须具 //有operator()以供线程执行。 boost::mutex io_mutex; struct count { count(int id) : id(id) { } void operator()() { for (int i = 0; i 10; ++i) { boost::mutex::scoped_lock lock(io_mutex); std::cout id ": " i std::endl; } } int id; }; TEST(BoostThread, Typeobject)//复杂类型对象作为参数来创建线程 { boost::thread thrd1(count(1)); boost::thread thrd2(count(2)); thrd1.join(); thrd2.join(); } class HelloWorldStatic { public: static void hello() { std::cout "Hello world, I''m a thread!" std::endl; } static void start() { boost::thread thrd(hello); thrd.join(); } }; TEST(BoostThread, InClassStatic)//类内部创建线程 { HelloWorldStatic::start();//在这里start()和hello()方法都必须是static方法。 } class HelloWorld { public: void hello() { std::cout "Hello world, I''m a thread!" std::endl; } void start() { boost::function0 void f = boost::bind(HelloWorld::hello, this); boost::thread thrd(f); thrd.join(); } }; TEST(BoostThread, InClass)//start()和hello()方法不是静态方法则采用此方法创建线程 { HelloWorld hello; hello.start(); } class HelloWorldOut { public: void hello(const std::string str) { std::cout str; } }; TEST(BoostThread, OutClass) { HelloWorldOut obj; boost::thread thrd(boost::bind(HelloWorldOut::hello, obj, "Hello world, I''m a thread!" ) ) ; thrd.join(); }线程的参数传递void func1(const int id) { std::cout "func1 id : " id std::endl; } struct MyThread { void operator()(const int id) { std::cout "MyThread id : " id std::endl; } void func1(const int id) { std::cout "MyThread::func1 id : " id std::endl; } }; TEST(BoostThread, Threadparameters) { //普通函数 boost::thread t1(func1, 11); t1.join(); //函数对象 MyThread myThread; boost::thread t2(myThread, 22); t2.join(); //成员函数 boost::thread t3(MyThread::func1, myThread, 33); t3.join(); //临时对象 boost::thread t4(MyThread(), 44); t4.join(); //对象引用 boost::thread t5(boost::ref(myThread), 55); t5.join(); }还可使用bing与ref线程中断禁用于回复中断:boost::this_thread::disable_interruption与boost::this_thread::restore_interruptionvoid f() { // interruption enabled here { boost::this_thread::disable_interruption di; // interruption disabled { boost::this_thread::disable_interruption di2; // interruption still disabled } // di2 destroyed, interruption state restored // interruption still disabled } // di destroyed, interruption state restored // interruption now enabled } void g() { // interruption enabled here { boost::this_thread::disable_interruption di; // interruption disabled { boost::this_thread::restore_interruption ri(di); // interruption now enabled } // ri destroyed, interruption disable again } // di destroyed, interruption state restored // interruption now enabled }函数检测当前线程是否允许中断:boost::this_thread::interruption_enabled()函数检测当前线程是否被要求中断:boost::this_thread::interruption_requested()类disable_interruption是一个RAII类型的对象,它在构造时关闭线程的中断,析构时自动恢复线程的中断状态。在disable_interruption的生命期内线程始终是不可中断的,除非使用了restore_interruption对象。restore_interruption只能在disable_
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

房屋设计装修网站网站空间付款方式

多模态编辑革命:Qwen-Image-Edit-2509重构视觉创作逻辑 【免费下载链接】Qwen-Image-Edit-2509 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen-Image-Edit-2509 导语 阿里巴巴通义千问团队发布的Qwen-Image-Edit-2509通过多图像融合与精准控制技…

张小明 2026/1/20 23:51:39 网站建设

微餐饮网站建设商城网站数据库表关系设计

9 个文献综述降重工具,研究生 AI 写作推荐 论文路上的“隐形敌人”:降重,真的这么难吗? 对于研究生来说,写论文不是一场简单的知识整理,而是一场与时间、压力和自我要求的拉锯战。尤其是文献综述部分&#…

张小明 2026/1/20 23:51:08 网站建设

西安商城网站开发制作做网站去哪里找客户

打造完美Emby体验:Tsukimi第三方客户端完整指南 【免费下载链接】tsukimi A simple third-party Emby client 项目地址: https://gitcode.com/gh_mirrors/ts/tsukimi 在当今数字娱乐蓬勃发展的时代,一个高性能、高颜值的媒体客户端能极大提升你的…

张小明 2026/1/20 23:50:37 网站建设

平舆专业网站建设品牌宣传推广策划方案

还在为MCP Server的环境配置焦头烂额吗?Node版本冲突、依赖包安装失败、系统权限问题...这些开发路上的绊脚石,是否让你对部署望而却步?别担心,今天我将带你用Docker解决方案,轻松开启Context7 MCP Server的容器化之旅…

张小明 2026/1/20 23:50:07 网站建设

网站建设北京贵黑龙江国际旅行社电话

3分钟学会免费阅读付费内容:Chrome扩展完全指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的时代,你是否经常遇到这样的情况:看到一…

张小明 2026/1/20 23:49:36 网站建设

刚建设的网站如何推广北京 网络发布

DRLVaultV3 就是一个基于 USDC 的 Uniswap V3 [WETH, USDC] 流动性收益协议:用户只需要存 USDC 和取 USDC,项目方(operator)负责所有添加流动性、调仓、收手续费的复杂操作,最终收益和本金都以 USDC 形式归用户所有。造…

张小明 2026/1/20 23:49:05 网站建设