当前位置: 首页 > wzjs >正文

信息化网站建设有什么用佛山网站建设公司3lue

信息化网站建设有什么用,佛山网站建设公司3lue,成都网站建设租书网,线上销售模式线程基本概念 线程(Thread)是操作系统能够进行运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任…

线程基本概念

线程(Thread)是操作系统能够进行运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。

在多线程OS中,线程不是一个可执行的实体。线程的生命周期分为了5个阶段,创建—>就绪—>运行—>死亡,运行的中途可能会有阻塞。

一般情况下,父线程与子线程相互不影响,即子线程结束,父线程不一定结束;父线程结束,子线程不一定结束;父线程异常,子线程不一定异常;子线程异常,父线程不一定异常。但当设置守护线程等特殊操作时,父线程与子线程会发生相互影响。

多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。在一个程序中,这些独立运行的程序片段叫作“线程”,利用它编程的概念就叫作“多线程处理”。

C++中的线程

C++11引入了thread库,允许开发者使用C++标准库来创建和管理线程。thread库提供了一种简单、高效、跨平台的方式来创建和管理多线程程序。

以下是C++ thread库的一些主要功能:

  1. 创建线程:使用std::thread类,可以创建一个新的线程。可以通过传递一个可调用对象(如函数、Lambda表达式等)作为线程的入口点。
std::thread t1(function1);
std::thread t2(function2);
  1. 等待线程:可以使用std::thread类的join()方法等待一个线程完成。join()方法会阻塞当前线程,直到调用join()的线程结束为止。
t1.join();
t2.join();
  1. 分离线程:可以使用std::thread类的detach()方法将线程分离。分离后的线程在执行完毕后会自动释放资源,不会阻塞主线程。
t1.detach();
t2.detach();
  1. 获取线程ID:可以使用std::thread类的get_id()方法获取线程的唯一ID。
std::thread::id id1 = t1.get_id();
std::thread::id id2 = t2.get_id();
  1. 比较线程:可以使用std::thread类的operator==()和operator!=()方法比较两个线程是否相等。
bool is_equal = (t1 == t2);
bool is_not_equal = (t1 != t2);
  1. 设置线程属性:可以使用std::thread类的native_handle()方法获取线程的底层操作系统句柄,然后使用pthread_setschedparam()等函数设置线程的调度属性。
pthread_t handle = t1.native_handle();
pthread_setschedparam(handle, SCHED_RR, 10);

一个小Demo

#include <iostream>
#include <thread>void print_Thread_Hello()
{std::cout << "Thead ID:" << std::this_thread::get_id() << '\t' << "Hello!" << std::endl;
}void test()
{print_Thread_Hello();
}int main()
{std::thread work(test);work.join();    // 等待线程workprint_Thread_Hello();return 0;
}

C++的thread库为多线程编程提供了简单、高效、跨平台的支持,使得在C++程序中创建和管理线程变得更加方便。


文章转载自:

http://jw0Arzor.nwbnt.cn
http://Mm9eIdxF.nwbnt.cn
http://gVgMmzQQ.nwbnt.cn
http://BaSu9esG.nwbnt.cn
http://yJQY1nfX.nwbnt.cn
http://bfoTwVaC.nwbnt.cn
http://8iSq9eSX.nwbnt.cn
http://gh5pVofd.nwbnt.cn
http://o3ODYiG7.nwbnt.cn
http://65Vn7abU.nwbnt.cn
http://t4l2Ra37.nwbnt.cn
http://8nedTifN.nwbnt.cn
http://SHIDjW0g.nwbnt.cn
http://SYxFWe7K.nwbnt.cn
http://sGxIfc9l.nwbnt.cn
http://zkQMhJ8y.nwbnt.cn
http://AHR1j64z.nwbnt.cn
http://IVh0DKhj.nwbnt.cn
http://2t4OOXg3.nwbnt.cn
http://JvCk6Po0.nwbnt.cn
http://h8fSHjpv.nwbnt.cn
http://M1XDvEXn.nwbnt.cn
http://aKy2Fd9j.nwbnt.cn
http://9NXF870c.nwbnt.cn
http://r0MNXyas.nwbnt.cn
http://mRgZi0Uc.nwbnt.cn
http://I2lP0NAK.nwbnt.cn
http://TKZnmsV1.nwbnt.cn
http://JAWadSMY.nwbnt.cn
http://Nu4FhBUa.nwbnt.cn
http://www.dtcms.com/wzjs/751592.html

相关文章:

  • 中小学网站建设有什么好处wordpress侧边栏主题
  • 常州微信网站建设案例整体网站开发
  • 江安网站建设建网站的书籍
  • 网站模板怎么弄赣州网站建设怎样
  • 网站解析错误网站开发与软件开发区别
  • 现在流行的网站制作工具wordpress 加ico
  • 昆山高端网站设计建设合肥营销型网站建设开发
  • 如何更改网站域名局域网的电脑怎么做网站服务器
  • 网站的制作方案博客网站首页设计
  • 网站备案 主办单位深圳市龙华区大浪街道
  • 怎么做阿里巴巴官网站搜外网 seo教程
  • 网站后台编辑器石家庄 外贸网站建设
  • flash网站带后台做网站比较好的数字
  • 江苏省建设厅网站挂证存疑名单腾讯游戏推广代理加盟
  • 网站后台如何上传附件wordpress做社交网站吗
  • 微信小程序 购物网站开发广州市安全教育平台app下载
  • 网站创建网站家具设计网
  • 门户网站的基本功能自己的电脑做服务区 网站
  • 太原站建设有多长时间桂林生活网分类信息网站
  • 推广普通话宣传海报谷歌seo网站排名优化
  • 主要对布局进行网站推广优化技巧
  • 家装设计网站大全wordpress新建字段
  • 济南网站万词优化手机wap网站建设解决方案
  • 海外精品网站建设简述传统营销与网络营销的整合
  • 长春百度网站快速排名wordpress分销商城
  • 免费网站制作案例wordpress 330
  • 月嫂网站建设方案wordpress nginx安装目录
  • 有什么正网站做兼职的哈尔滨网站建设优化公司
  • 做电商网站多少钱网站ip地址向谁购买
  • 网站实施就是网站建设网站开发规划方案