首页 > 其他分享 >线程

线程

时间:2024-07-15 09:10:39浏览次数:9  
标签:std cout thread 示例 线程 id

thread

包含头文件 < thread >

代码示例:

void DoWork()
{
std::cout<<"working"
}

int main()
{
std::thread worker(DoWork);//输入这行代码后立刻开始运行DoWork是个函数指针

worke.join()

是什么:
你能在当前线程上等待这个worker线程结束工作吗?相当于暂停当前线程等worker线程完成再继续当前线程。
代码示例:

#include<iostream>
#include<thread>

bool kk = false;
void DoWork()
{
	using namespace std::literals::chrono_literals;//用来写休眠函数
	while (!kk)
	{
		std::cout << "working.....\n";
		std::this_thread::sleep_for(1s);//this_shread是给当前线程下命令
	}

}

int main()
{
	std::thread worker(DoWork);//输入这行代码后立刻开始运行DoWork是个函数指针
	std::cin.get();//
	kk = true;
	worker.join();
	std::cin.get();
}

std::this_thread::get_id()

获取当前线程id方法
使用位置:
在线程作用域里用就行;

标签:std,cout,thread,示例,线程,id
From: https://www.cnblogs.com/WZline/p/18302404

相关文章

  • 【Linux】线程间同步
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言Linux线程同步条件变量同步概念与竞态条件条件变量函数条件变量使用规范条件变量接口的使用生产者消费者模型为何要使用生产者消费者模型生产者消费者模型优点基于BlockingQueue的生产者消费......
  • 【C++11常见新特性(三)】线程库
    文章目录thread类线程函数参数并行与并发的区别原子性操作库关于atomic类模板对比锁和原子操作lock_guard与unique_locklock_guardunique_lock两个线程交替打印奇数和偶数thread类C++11新特性支持线程,使得C++在并行编程中不需要使用第三方库,并且在原子操作中还引......
  • C++11 标准库 线程库<thread>梳理
    目录<thread>this_thread命名空间1.get_id()2.sleep_for()3.sleep_until()4.yield()thread类构造函数:类方法1.get_id()2.join()3.detach()4.joinable()5.operator=6.hardware_concurrency(static)多线程的两种计算场景<thread>this_thread命名空间在C++11中不仅添加......
  • [操作系统]线程
    线程线程的状态转换参考文章线程在一定条件下,状态会发生变化。线程一共有以下几种状态:新建状态(New):新创建了一个线程对象。就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即......
  • 1、多线程同步——CPU、core核、线程、内存
    CPU的运行原理控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。对于执行指令过程中所需要用到的数据,会将数据地址也送到地址总线,然后CPU把数据读到CPU的内部存储单元(就......
  • [深入理解Java虚拟机]线程
    Java与协程在Java时代的早期,Java语言抽象出来隐藏了各种操作系统线程差异性的统一线程接口,这曾经是它区别于其他编程语言的一大优势。在此基础上,涌现过无数多线程的应用与框架,譬如在网页访问时,HTTP请求可以直接与ServletAPI中的一条处理线程绑定在一起,以“一对一服务”的方式处......
  • STAThread与Windows UI线程模型
    STAThread与WindowsUI线程模型1.STAThread属性标注Main方法,使主线程运行在STA模式。用于兼容需要STA环境的COM组件,特别是UI组件。2.线程模式STA(SingleThreadedApartment)一个线程处理所有STA组件。UI线程通常为STA,负责消息处理和UI更新。MTA(MultiThreaded......
  • Qt-线程和线程池
    前言Qt实现在线程中执行任务有4种方法,分别是:1. 创建一个派生于QThread类的子类,重写run函数,在run函数中执行任务2.创建一个派生于QObject的子类,调用QObject::moveToThread()方法将子类对象移动到子线程对象中。3.使用线程池QThreadPool4.使用QtConcurrent执行并......
  • Linux系统编程-线程同步详解
    线程同步是指多个线程协调工作,以便在共享资源的访问和操作过程中保持数据一致性和正确性。在多线程环境中,线程是并发执行的,因此如果多个线程同时访问和修改共享资源,可能会导致数据不一致、竞态条件(racecondition)等问题。线程同步通过协调线程的执行顺序和共享资源的访问来避免......
  • 【tomcat】Tomcat如何扩展Java线程池原理
    池化技术在后端中,对于经常使用池化就是来提升系统性能,比如数据库连接池、线程池连接池等,本质都是利用空间换时间的来提升性能,用来避免资源的频繁创建和销毁,以此提高资源的复用率,所以合理设置系统所需的线程池大小非常重要,一般都需要结合线程启动监控系统来观察,查看设置的是......