认识线程
三种创建线程的方法及区别
2.1CreateThread
2.2AfxBeginThread
2.3_beginthreadex
线程的运行状态
MFC中用户界面线程的操作
线程的相关操作
线程间通信
线程间同步机制
7.1CriticalSections(临界区)
7.2Mutex(互斥器)
7.3Semaphores(信号量)
7.4EventObjects(事件对象)
1.认识线程进程是资源分配的基本单位,
线程是调度运行的基本单位。
线程是操作系统可识别的最小执行和调度单位。是计算机分配CPU的基本单元。
一个进程可以包含一个或多个线程,进程是通过线程去执行代码的。
同一个进程的多个线程共享该进程的资源和操作系统分配给该进程的内存空间。每个进程必须有一个主线程,主线程退出之后该进程也就退出了。
一个进程的主线程是由系统创建的。
在单CPU中,CPU在同一时刻只能执行一段代码,由于CPU的频率非常快,迅速的在各个线程间进行切换,所以给人的感觉就好像是多个线程共同执行。
这就涉及到并发与并行的概念,上面的单CPU就是并发,不是并行,并行就是多核CPU或多CPU。
你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。
并发的关键是你有处理多个任务的能力,但不是同时。
并行的关键是你有同时处理多个任务的能力。
所以它们最关键的点就是:是否是『同时进行』。
使用任务管理器查看进程及线程,如下图:
也可使用Spy++工具查看系统中当前的进程与线程!
下载更多开发助手工具,