《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多线程程序设计

Win32多线程程序设计”多线程多任务“是程序开发者和用户都需要的一个重要资产。从WindowsNT开始,完全支持32位程序的抢占式多任务。带领我们进入了”多线程多任务“时代。基本概念 进程(pro...
  • chenjintaoxp
  • chenjintaoxp
  • 2015年07月31日 16:04
  • 1209

C语言及程序设计基础 课程主页

第一部分 引言及体验 知识点 学习资源 1.1 人人学点程序设计 问卷 1.2 程序设计语言 自测 1.3 搭建C语言的运行平台 实践要求:按视频指导搭建编程环境并运行程...
  • sxhelijian
  • sxhelijian
  • 2015年07月07日 17:06
  • 2532

HTML初步认识

HTML初步认识本篇博客给大家带来html最基础的东西,也就是初步认识html,打算从以下几个方面给大家介绍: 认识什么是纯文本文件txt HTML是负责描述文档语义的语言 HTML骨架和基本语法 可...
  • u010624986
  • u010624986
  • 2016年12月16日 23:46
  • 521

Win32多线程编程学习心得

博客原文地址:http://jerkwisdom.github.io/study/thread/thread-Summary/ 此处博客不再更新。 为什么多线程? 其实不想写这一点,多线程并不一定...
  • jonathan321
  • jonathan321
  • 2016年03月02日 20:26
  • 1563

[Win32] 多线程和线程同步

多线程:一个进程创建时,默认情况下系统会为它创建一个主线程,(如果使用Native API创建的线程就没有主线程,是空的,必须自己创建主线程),应用程序可以自己创建线程,还有以前写过的一篇“DLL注入...
  • zuishikonghuan
  • zuishikonghuan
  • 2015年10月02日 10:46
  • 3001

Win32多线程之互斥器(Mutexes)

http://blog.csdn.net/wjj715211/article/details/16899667 Win32的Mutex用途和critical section非常类似,但是它牺牲速度以...
  • l799623787
  • l799623787
  • 2014年01月14日 11:51
  • 2151

Win32多线程编程 — 线程同步与通信

一.线程间数据通信 系统从进程的地址空间中分配内存给线程栈使用。新线程与创建它的线程在相同的进程上下文中运行。因此,新线程可以访问进程内核对象的所有句柄、进程中的所有内存以及同一个进程中其他所有线程...
  • slj_win
  • slj_win
  • 2016年03月07日 11:05
  • 623

Win32API下的多线程编程入门

多线程,Multi-Thread。移步别处理解Thread和Process。多线程可用多种API实现,这里用Win32 API实现最简单的多线程,线程彼此独立,不涉及线程间的数据共享。 先直接上程序:...
  • u010153703
  • u010153703
  • 2014年08月08日 18:25
  • 1395

深入浅出Win32多线程程序设计

引言   从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务",而如今的Win32操作系统却可...
  • Qsir
  • Qsir
  • 2017年05月17日 15:09
  • 221

《Win32多线程程序设计》(10)---如何终止一个线程

结束一个线程,听起来好容易,但是结束程序必须按次序进行,以避免发生race  conditions。让程序依次序进行是非常重要的,特别是在程序要结束之前。结束一个程序就好像拆除一栋建筑物一样,在你以推...
  • LeeLaoHan
  • LeeLaoHan
  • 2014年02月12日 10:27
  • 538
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Win32多线程程序设计》学习笔记(一)—— 线程初步认识
举报原因:
原因补充:

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