博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows核心编程-线程note
阅读量:4509 次
发布时间:2019-06-08

本文共 1030 字,大约阅读时间需要 3 分钟。

HANDLE CreateThread(     LPSECURITY_ATTRIBUTES psa,     DWORD cbStackSize,     LPTHREAD_START_ROUTINE pfnStartAddr,     PVOID pvParam,     DWORD dwCreationFlags,     PDWORD pdwThreadID);

pfnStartAddr参数指定希望新线程执行的线程函数的地址。线程函数的pvParam参数与最初给CreateThread函数的pvParam参数是一样的,CreateThread不用这个参数做别的事情,只是在线程开始执行时候将其传给线程函数。通过这个参数,可以将一个初始值传给线程函数,这个初始值可以是一个数值,也可以是指向一个数据结构(其中包含额外的信息)的指针。

例如:

struct ThreadInfo {
int serial; //the serial number of the thread char entity; //type of thread(reader or writer) double delay; //delay of thread double persist; //time of thread's read and write operation }; void WP_ReaderThread(void *p); CreateThread(NULL, 0,   (LPTHREAD_START_ROUTINE)(WP_ReaderThread),   &thread_info[i],   0,   &thread_ID);

 

HANDLE GetCurrentThread();

返回线程内核对象的一个伪句柄(pseudohandle),不会影响线程内核对象的使用计数。如果调用CloseHandle,将一个伪句柄作为参数传入,CloseHandle只是简单地忽略此调用,并返回FALSE,在这种情况下,GetLastError将返回ERROR_INVALID_HANDLE。

使用DuplicateHandle函数可以将伪句柄转换为一个真正的句柄

转载于:https://www.cnblogs.com/leealvin/archive/2012/04/03/2430959.html

你可能感兴趣的文章
将VS2013项目转成VS2010项目的方法
查看>>
[置顶] 怎么对待重复的代码
查看>>
多种方法实现H5网页图片动画效果;
查看>>
Ubuntu/CentOS下使用脚本自动安装 Docker
查看>>
源码解读Mybatis List列表In查询实现的注意事项
查看>>
POJ 2311 Cutting Game(二维SG+Multi-Nim)
查看>>
1978 Fibonacci数列 3
查看>>
1225 八数码难题
查看>>
C#控件的闪烁问题解决方法总结
查看>>
js 冒泡事件与解决冒泡事件
查看>>
2018-2019赛季多校联合新生训练赛第七场(2018/12/16)补题题解
查看>>
后台全选功能以及数据的提交方法
查看>>
Android 动画效果 及 自定义动画
查看>>
const与#define相比有什么不同?
查看>>
Eclipse4.7 SpringIDE插件的安装
查看>>
C#面向对象基础
查看>>
Jquery页面加载效果
查看>>
ios对new Date() 的兼容问题
查看>>
Spark发展现状与战线
查看>>
Charles常用设置
查看>>