C++实现CreatThread函数主线程与工作线程交互的方法
本文实例讲述了C++开启线程CreatThread函数的使用,实现主线程与工作线程交互的功能。分享给大家供大家参考。
具体实现代码如下:
//线程函数
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
for (int i=0;i<20;i++)
{
printf("I'm in thread,count=%d\n",i);
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
DWORD dwThreadId;
HANDLE hThread = ::CreateThread(NULL, 0, ThreadProc,NULL, 0, &dwThreadId);
if (hThread == NULL)
{
printf("createThread failed...");
return -1;
}
//等待线程结束
::WaitForSingleObject(hThread, INFINITE);
printf("thread finished...");
::CloseHandle(hThread);
return 0;
}
希望本文所述对大家的C++程序设计有所帮助。
相关推荐
-
C++ read函数读入int整形数据
Read函数定义 通过read函数将文件中的数据按照一定的长度读取出来并且存放在新的数组中.用于从文件中读取数据. 函数原型istream& read (char* s, streamsize n); 参数char* s取出数据的流向的char类型数组指针,streamsize n表示数组的长度 #include<iostream> using namespace std; int read()//read函数主体部分 { int x=0,f=1;char ch=getchar();
-
C++实现CreatThread函数主线程与工作线程交互的方法
本文实例讲述了C++开启线程CreatThread函数的使用,实现主线程与工作线程交互的功能.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: //线程函数 DWORD WINAPI ThreadProc(LPVOID lpParameter) { for (int i=0;i<20;i++) { printf("I'm in thread,count=%d\n",i); } return 0; }
-
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
在做界面开发时,无论是移动端的Android,还是我们这里讲的PyQt5,经常会有一个界面开发准则,那就是UI主线程与耗时子线程一定要分开,主线程负责刷新界面,耗时操作,如网络交互.磁盘IO等,都应该放在子线程里执行,它们各司其职,保证系统正常运行,提升整体用户体验. 软硬件环境 windows 10 64bit PyQt5 Anaconda3 with python 3.6.5 实例代码 首先看下工程目录结构 main.py,这是工程入口文件,它负责创建app # -*- coding: ut
-
android中UI主线程与子线程深入分析
本文较为深入的分析了android中UI主线程与子线程.分享给大家供大家参考.具体如下: 在一个Android 程序开始运行的时候,会单独启动一个Process.默认的情况下,所有这个程序中的Activity或者Service(Service和 Activity只是Android提供的Components中的两种,除此之外还有Content Provider和Broadcast Receiver)都会跑在这个Process. 一个Android 程序默认情况下也只有一个Process,但一个Pr
-
简单了解C语言中主线程退出对子线程的影响
这篇文章主要介绍了简单了解C语言中主线程退出对子线程的影响,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 那如果是把进程换成线程的话,会怎么样呢?假设主线程在子线程结束前就已经退出,子线程会发生什么? 在一些论坛上看到许多人说子线程也会跟着退出,其实这是错误的,原因在于他们混
-
Android主线程和子线程区别详解
主线程和子线程的区别 每个线程都有一个唯一标示符,来区分线程中的主次关系的说法. 线程唯一标示符:Thread.CurrentThread.ManagedThreadID; UI界面和Main函数均为主线程. 被Thread包含的"方法体"或者"委托"均为子线程. 委托可以包含多个方法体,利用this.Invoke去执行. 也可以定义多种方法体,放在Thread里面去执行.则此方法体均为子线程.注意如果要修改UI界面的显示.则需要使用this.Invoke,否则会报
-
python主线程与子线程的结束顺序实例解析
这篇文章主要介绍了python主线程与子线程的结束顺序实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 引用自 主线程退出对子线程的影响 的一段话: 对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 主线程退出后子线程的状态依赖于它所在的进程,如果进程没有退出的话子线程依然正常运转.如果进程退出了,那么它所有的线程都会
-
Android Handler主线程和一般线程通信的应用分析
Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作.如果此时需要一个耗时的操作,例如: 联网读取数据,或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,会
-
android主线程和子线程之间消息传递详解
从主线程发送消息到子线程(准确地说应该是非UI线程) package com.zhuozhuo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import android.view.View; import android.
-
python主线程捕获子线程的方法
最近,在做一个项目时遇到的了一个问题,主线程无法捕获子线程中抛出的异常. 先看一个线程类的定义 ''''' Created on Oct 27, 2015 @author: wujz ''' import threading class runScriptThread(threading.Thread): def __init__(self, funcName, *args): threading.Thread.__init__(self) self.args = args self.funcN
-
详解Java子线程异常时主线程事务如何回滚
一.提出问题 最近有一位朋友问了我这样一个问题,问题的截图如下: 这个问题问的相对比较笼统,我来稍微详细的描述下:主线程向线程池提交了一个任务,如果执行这个任务过程中发生了异常,如何让主线程捕获到该异常并且进行事务的回滚. 二.主线程与子线程 先来看看基础,下图体现了两种线程的运行方式, 左侧的图,体现了主线程启动一个子线程之后,二者互不干扰独立运行,生死有命,从此你我是路人! 右侧的图,体现了主线程启动一个子线程之后继续执行主线程程序逻辑,在某一节点通过阻塞的方式来获取子线程的执行结果. 对于
随机推荐
- MooTools 1.2介绍
- ajax+springmvc实现C与View之间的数据交流方法
- VBS教程:VBscript语句-Option Explicit 语句
- ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
- asp.net 身份验证(最简单篇)
- jquery+html5制作超酷的圆盘时钟表
- JS定时器实现数值从0到10来回变化
- 简要介绍C++编程中的友元函数和友元类
- C#实现顺序表(线性表)完整实例
- 在nginx中配置pathinfo模式支持thinkphp的URL重写
- Ubuntu16.04配置lamp环境的具体方法
- 通过js判断访客显示器屏幕分辨率并给出提示
- Python中装饰器兼容加括号和不加括号的写法详解
- MongoDB的PHP驱动方法与技巧
- 关于JavaScript中string 的replace
- 边缘路由要与核心层同步提升
- PHP中$this和$that指针使用实例
- Redis获取某个大key值的脚本实例
- Spring中的REST分页的实现代码
- Windows下python3.7安装教程