多线程专题之最简单的线程
来源:互联网 发布:Lantern软件下载 编辑:程序博客网 时间:2024/05/21 10:48
现在,我们就来看看最简单的线程是什么样的.顺便介绍以下相关函数啦!
1:创建一个线程
void CMultiThreadDlg::OnBtnSimple()
{
// TODO: Add your control notification handler code here
DWORD dwThread/*,dwExitCode*/;
HANDLE hThread = NULL;
hThread = ::CreateThread(
NULL/*系统安全描述,NULL*/,
0/*Windows系统一般线程栈大小为1 MB,创建线程的数目与物理内存和栈空间大小有关*/,
(LPTHREAD_START_ROUTINE)ThreadProc/*线程启动函数*/,
NULL/*线程启动函数接收的参数*/,
0/*CREATE_SUSPENDED*/,
&dwThread/*线程ID*/);
// SuspendThread(hThread/*线程句柄*/); //挂起线程
// ResumeThread(hThread/*线程句柄*/); //启动线程
// ExitThread(0/*线程退出码*/); //线程函数内部使用,用于退出线程
// TerminateThread(
// hThread/*线程句柄*/,
// 0/*线程退出码*/); //外部线程强制关闭一个正在运行的线程,这是不安全的做法,因为线程的资源并不会因为线程关闭而释放。
PostThreadMessage(
dwThread/*线程ID*/,
WM_QUIT/*线程消息*/,
0/*线程字参数*/,
0/*线程长参数*/); //向线程发送消息,将消息放到线程的消息队列中,不过现成本身必须实现消息循环
// GetExitCodeThread(
// hThread/*线程句柄*/,
// &dwExitCode/*线程退出码*/);
// SetThreadPriority(hThread,THREAD_PRIORITY_NORMAL); //设置线程优先级
// GetThreadPriority(hThread); //得到线程优先级
CloseHandle(hThread/*线程句柄*/); //关闭线程句柄,减少内核对象的引用记数
//GetDlgItem(IDC_BTN_SIMPLE)->EnableWindow(FALSE);
}
2:实现这个线程函数
static DWORD ThreadProc(
LPVOID lpParameter
)
{
return 0;
}
好,一切搞定,简单吧,接下来几回,我们会陆续探讨多线程的话题.记得关注哦
- 多线程专题之最简单的线程
- 多线程专题之线程间的通信
- 多线程专题之线程参数
- 多线程专题之MFC创建线程(1)
- 多线程专题之MFC创建线程(2)
- 多线程专题之线程同步(1)
- 多线程专题之线程同步(2)
- 多线程专题之MFC创建线程
- 线程学习之--1简单的多线程
- 多线程之线程池的简单实现
- 最简单的多线程
- 多线程专题之线程死锁原因之谜
- 多线程技术----最简单的demo开始之windows版
- 多线程技术----最简单的demo开始之linux版
- iOS开发教程之线程关于多线程的简单介绍
- 最简单的远程线程
- 最简单的线程池
- c# 最简单的线程
- 对领域模型的一些体会
- MiniGUI安装
- 信息系統通用緩存設計
- GDB
- 烟花和礼花弹的原理
- 多线程专题之最简单的线程
- 抽象工厂 模式
- 数据库性能调优技术─嵌套循环执行计划
- 4-(E-Teller源代码分析)AgreeApplicationInitializer
- Ubuntu 7 下开始使用 PostgreSQL 8.3
- 将Java代码打包为exe文件
- 通过串口收发短消息(上)
- 通过串口收发短消息(下)-
- prototype of project