《Win32多线程程序设计》学习笔记(一)—— 线程初步认识

原创 2007年09月17日 20:03:00

产生一个新线程,是以CreateThread开始的。

HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES
lpThreadAttributes// pointer to security attributes
  DWORD dwStackSize,                         // initial thread stack size
  LPTHREAD_START_ROUTINE lpStartAddress,     // pointer to thread function
  LPVOID lpParameter,                        // argument for new thread
  DWORD dwCreationFlags,                     // creation flags
  LPDWORD lpThreadId                         // pointer to receive thread ID
);

lpThreadAttributes    描述施行于这一新线程的security属性。NULL表示使用缺省值。
 
dwStackSize              新线程拥有自己的堆栈。0表示使用缺省大小:1MB。
lpStartAddress  新线程将开始的起始地址。这是一个函数指针。在C语言中函数名称即代表函数指针,所以这里可放一个函数名称。
lpParameter              此值将被传送到上述所指定的新线程函数中,作为参数。
 
dwCreationFlags      允许你产生一个暂时挂起的线程。默认是“立即开始执行”。
 
lpThreadId                 新线程ID会被传回到这里。
 
线程开始允许的函数的返回值为DWORD,调用约定是WINAPI(即__stdcall),有一个LPVOID参数。
 
 
线程的执行次序无法保证。
Task Switches可能在任何时刻任何地点发生。(用多线程版本的函数库可以解决某些问题)
线程对于小的改变有高度的敏感。
线程并不总是立刻启动。 

相关文章推荐

转载:《Win32多线程程序设计》学习笔记 第10章 MFC 中的线程

《Win32多线程程序设计》学习笔记 第10章 MFC 中的线程 如果要在MFC程序中产生一个线程,而该线程将调用MFC函数或者使用MFC的任何数据,那么你必须以AfxBeginThre...

《win32多线程程序设计》学习笔记二

一、产生一个线程 1、产生一个线程(并因而成就一个多线程程序),是以CreateThread()函数作为开始。此函数原型如下: 二、使用多线程的结果 1、多线程程序无法预...

《win32多线程程序设计》学习笔记四

一、Critical Sections

深入浅出Win32多线程程序设计之二:线程控制

深入浅出Win32多线程程序设计之线程控制   WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。  1.线程函...

深入浅出Win32多线程程序设计之三:线程通信

深入浅出Win32多线程程序设计之线程通信 简介  线程之间通信的两个基本问题是互斥和同步。  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消...

深入浅出Win32多线程程序设计之线程通信

简介   线程之间通信的两个基本问题是互斥和同步。   线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才...

深入浅出Win32多线程程序设计之线程通信

简介   线程之间通信的两个基本问题是互斥和同步。   线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤...

深入浅出Win32多线程程序设计之线程控制

WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。 一、线程函数     在启动一个线程之前,必须为线程编写一个...
  • sptoor
  • sptoor
  • 2011年10月01日 12:13
  • 286

《Win32多线程程序设计》读书笔记(一)

1,可以使用GetExitThreadCode函数获取线程函数结束时的返回值 2,多线程程序设计成功的关键: 2.1,各线程的数据要分离开来,避免使用全局变量 2.2,不要在线程之间共享GDI对象 2...

《Win32多线程程序设计》读书笔记之内核对象

所谓句柄(Handle),其实就是指针,指向操作系统内存空间中的某样东西,为了维护系统的完整性与安全性,不允许直接取得。 内核对象与GDI对象不同,内核对象由KERNEL32.DLL管理,而GD...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Win32多线程程序设计》学习笔记(一)—— 线程初步认识
举报原因:
原因补充:

(最多只允许输入30个字)