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

龙口建设公司网站云和数据培训机构怎么样

龙口建设公司网站,云和数据培训机构怎么样,网站转app工具高级版,linux 部署wordpress文章目录 前言一、线程#xff0c;进程 介绍二、创建线程三、终止线程总结 前言 一、线程#xff0c;进程 介绍 线程#xff1a; 是操作系统中独立运行的最小单位。每个线程都有自己的执行路径、程序计数器、堆栈和一组寄存器。线程共享进程的资源#xff0c;如内存和文件… 文章目录 前言一、线程进程 介绍二、创建线程三、终止线程总结 前言 一、线程进程 介绍 线程 是操作系统中独立运行的最小单位。每个线程都有自己的执行路径、程序计数器、堆栈和一组寄存器。线程共享进程的资源如内存和文件描述符可以并发执行从而提高程序的并发性和响应性。 进程 是操作系统中运行的一个程序实例。它拥有独立的内存空间和系统资源如文件句柄、网络连接等。一个进程可以包含多个线程这些线程共享进程的资源。进程之间相互独立拥有各自的地址空间和系统资源并通过进程间通信IPC机制进行交互。 总结起来线程是进程的一部分是可以并发执行的辅助单位共享进程的资源。进程是独立运行的程序实例拥有独立的资源和内存空间。线程通常用于并发执行任务而进程通常用于隔离不同的应用程序和提供资源独立性。 二、创建线程 在 Qt 中可以使用 QThread 类来创建线程。 Qt 中的线程以对象的形式被创建和使用。每一个线程对应着一个 QThread 对象。 创建线程的一般步骤如下 定义一个继承自QThread的类。在该类中重写run()方法并在其中实现线程的任务逻辑。创建该自定义线程类的对象。调用对象的start()方法来启动线程。 void run ( ) 线程体函数用于定义线程功能执行流 具体而言它用于启动一个新线程并调用线程的 run() 方法。 void start ( ) 启动函数将线程入口地址设置为 run 函数。 调用 start() 后线程会自动调用 run() 方法执行线程的任务逻辑。 void terminate ( ) 强制结束线程不推荐 示例代码 #include QCoreApplication #include QThread #include QDebugclass MyThread : public QThread //创建线程类 { protected:void run() //线程入口线程体函数{qDebug() objectName() : begin;for(int i0; i 5 ;i){qDebug() objectName() : i;sleep(1); //休眠 1 秒}qDebug() objectName() : end;}int main(int argc, char *argv[]) //主线程入口函数 {QCoreApplication a(argc, argv);qDebug() main : begin;MyThread t; //创建子线程t.setObjectName(t1);t.start(); //启动线程qDebug() main : end;return a.exec(); }输出结果 注意 示例中 主线程 将优先于 子线程 结束。 所有线程都结束后进程结束。 三、终止线程 怎末结束线程呢 在工程开发中terminate 是禁止使用的 terminate 会使操作系统 暴力终止线程而不会考虑数据的完整性资源释放等问题 结束线程 方法 设置一个标志位当需要终止线程时设置这个 标志位。 在 Mythread 中提供一个标志位变量并且提供一个stop()函数当需要将线程终止时将这个 m_stop 设置为true即可。 在线程的run()方法中定期检查标志位的状态。如果标志位为真则线程执行完当前任务后自行退出。 #include QCoreApplication #include QThread #include QDebugclass MyThread : public QThread { protected:bool m_to_stop; //终止标志位void run() //线程入口线程体函数{qDebug() objectName() : begin;for(int i0;(!m_to_stop)(i5);i){qDebug() objectName() : i;sleep(1); //每打印一次休眠 1 秒}qDebug() objectName() : end;}public:MyThread(){m_to_stop false;}void stop(){m_to_stop true;} };int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);qDebug() main : begin;MyThread t;t.setObjectName(t1);t.start();for(int i0;i5;i){QThread::sleep(1); //休眠if(i 2)t.stop(); //休眠 3 秒后终止线程}qDebug() main : end;return a.exec(); }输出结果 总结
http://www.hkea.cn/news/14380910/

相关文章:

  • 网页在线生成网站成都市住房和城乡建设厅官网
  • 梅州免费建站开源门户系统
  • php网站建设用什么织梦栏目页不显示网站描述
  • 电子工程网官方网站辽宁工程建设信息网站
  • 站长工具怎么关掉太原规划网站
  • 丽水公司做网站郑州企业网站优化
  • 兰溪市网站建设公司白酒网站模板
  • 网站搭建教学网广州品牌网站建设
  • 网站备案在哪里杭州建设工程招标网新址
  • 网站空间不续费泰兴中信建设有限责任公司
  • 县级门户网站用什么源码好运维有限公司
  • 深圳市网站建设外包公司哪个网站兼职做图好
  • 容桂低价网站建设医疗保健网站前置审批文件
  • 最贵网站建设多少钱设计图片素材
  • 站长工具在线免费正确认识部门网站建设
  • 网站开发用什么电脑网站建设这个职业是什么意思
  • 手机网站开发解决方案新网站如何做网站优化
  • 房产最新消息今天新闻大连网站优化多少钱
  • 久商推网站建设怎样免费做一个网站
  • 网站站外优化推广方式以企业介绍为主做外贸网站好吗
  • 栖霞建设官方网站网站建设需求发布
  • 淄博网站建设好的公司乐陵seo外包
  • 手机上能不能制作网站开发互联网行业现状分析
  • 大连网站建设兼职电子商务网站建设的总体目标
  • 在线免费视频网站推广网络安全服务机构
  • 永久免费自助建站系统网络营销推广的主要特点
  • 企业的网站建设与设计论文wordpress 更新用户名
  • 地方生活门户信息网站源码网站开发 知乎
  • 一级a做爰片付费网站今天军事新闻最新消息详细
  • 新网站如何做排名visual studio 开发网站开发