码迷,mamicode.com
首页 > 编程语言 > 详细

Windows核心编程读书笔记-第六章线程基础

时间:2014-11-28 01:02:21      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   strong   on   art   问题   bs   代码   html   

1.相较于线程,进程所使用的系统资源更多。其原因在于地址空间。为一个进程创建一个虚拟的地址空间需要大量系统资源。线程只有一个内核对象和一个栈。

2.线程的入口函数

DWORD WINAPI ThreadFunc(PVOID pvParam){
	DWORD dwResult = 0;
	...
	return(dwResult);
}

线程函数的几点说明

  • 线程函数可以任意命名。
  • 线程函数只有一个参数,而其意义由我们(而非操作系统)来定义。因此,我们不必担心ANSI/Unicode问题。
  • 线程函数必须返回一个值,它会成为该线程的退出代码。
  • 线程函数应该尽可能使用函数参数和局部变量。函数的参数和局部变量是在线程栈上创建的。

3.CreateThread函数

HANDLE CreateThread(
	PSECURITY_ATTRIBUTES psa,
	DWORD cbStackSize,
	PTHREAD_START_ROUTINE pfnStartAddr,
	PVOID pvParam,
	DWORD dwCreateFlags,
	PDWORD pdwThreadID);

调用CreateThread函数,系统从进程的地址空间中分配内存给线程栈使用。新线程在与负责创建的那个线程在相同的进程上下文中运行。因此,新线程可以访问进程内核对象的所有句柄、进程中的所有内存以及同一个进程中其他所有线程的栈

Windows核心编程读书笔记-第六章线程基础

标签:ar   使用   strong   on   art   问题   bs   代码   html   

原文地址:http://www.cnblogs.com/cpointer/p/4127512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!