C++多线程编程入门
来源:互联网 发布:海森矩阵 编辑:程序博客网 时间:2024/05/16 14:49
【线程的概念】
为了了解线程的概念,我们必须先讨论一下进程的概念。
一个进程通常定义为程序的一个实例。在Win32中, 进程占据4GB的地址空间。与它们在MS-DOS和16位Windows操作系统中不同, Win32进程是没有活力的。这就是说,一个Win32进程并不执行什么指令,它只是占据着4GB的地址空间,此空间中有应用程序EXE文件的 代码和数据。EXE需要的任意DLL也将它们的代码和数据装入到进程的地址空间。除了地址空间,进程还占有某些资源,比如文件、动态内存分配和线程。当进程终止时,在它生命期中创建的各种资源将被清除。
但是进程是没有活力的,它只是一个静态的概念。为了让进程完成一些工作,进程必须至少占有一个线程,所以线程是描述进程内的执行,正是线程负责执行包含在进程的地址空间中的代码。实际上,单个进程可以包含几个线程, 它们可以同时执行进程的地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄存器和堆栈。
每个进程至少有一个线程在执行其地址空间中的代码,如果没有线程执行进程 地址空间中的代码, 进程也就没有继续存在的理由,系统将自动清除进程及其地址空间。为了运行所有这些线程,操作系统为每个独立线程安排一些CPU 时间,操作系统以轮转方式向线程提供时间片,这就给人一种假象,好象这些线程都在同时运行。创建一个Win32进程时,它的第一个线程称为主线程,它 由系统自动生成,然后可由这个主线程生成额外的线程,这些线程,又可生成更多的线程。
- C#UI多线程编程入门
- Windows 下 C/C++ 多线程编程入门参考范例
- Windows 下 C/C++ 多线程编程入门参考范例
- 多线程编程入门介绍
- Linux 多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- linux多线程编程入门
- UNIX 多线程编程入门
- Java多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- Windows DOS命令
- Couch-to-5K 跑步计划
- Js中的eval函数
- Ajax代码,js中可直接调用
- ubuntu中sudo apt-get所得的文件下载到哪了?
- C++多线程编程入门
- 汇编语言 输入字流统计非数字的个数(里面有个转换为10进制的子程序)
- C++沉思录读书笔记(17章)-见识泛型算法的威力
- SQL Server — 复杂查询 分组查询—— 学习笔记
- Java解析XML的四种方法(1、2)
- C# 异步实现方法调用
- Java连接各种数据库
- 同步、AJAX
- Button布局