多线程的基本介绍
来源:互联网 发布:数据库 方向 编辑:程序博客网 时间:2024/06/06 02:43
进程是拥有系统资源的基本单位。一个进程可以有多个线程。
线程是进程中的一个实体,是被系统独立调度和分配的基本单位。线程自己不拥有系统资源。但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
线程是进程中的一个实体,是被系统独立调度和分配的基本单位。线程自己不拥有系统资源。但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
线程也有就绪、阻塞、和运行3种基本状态。
线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,目前实现线程同步的方法有很多,例如:临界区(criticalsection)、事件(event)、信号量(semaphore)、互斥量(mutex)。
1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。
2、互斥量:采用互斥对象机制。只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享
3、信号量:它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目
4、事 件:通过通知操作的方式来保持线程的同步,还可以方便实现对多个线程的优先级比较的操作.
有整套线程的讲解。建议阅读
http://blog.csdn.net/feixiaoxing/article/category/935718
0 0
- 多线程的基本介绍
- java多线程—线程的基本介绍
- 关于多线程的使用一些基本介绍
- AfxBeginThread的介绍/基本用法和Window多线程使用详解
- 多线程(一) 多线程介绍及基本使用
- java多线程(一)----线程基本介绍
- 多线程的基本应用
- 多线程的基本理解
- 基本多线程的理解
- 多线程的基本模型
- java多线程的介绍
- 基础多线程的介绍
- 多线程的简单介绍
- 浅析.Net下的多线程编程,介绍在.Net下进行多线程编程的基本方法和步骤。
- Struts的基本介绍
- Invision的基本介绍
- 基本的RAID介绍
- Silverlight 的基本介绍
- Kernel panic – not syncing: Attempted to kill init
- 键盘键值汇总(转载)
- Doxygen介绍
- Doxygen常用命令、实例
- 编译boost库(转载)
- 多线程的基本介绍
- git的一些常用方法
- 数学问题:矩阵与坐标系的使用。
- 深入理解Java虚拟机笔记---双亲委派模型
- try catch基本介绍。
- try catch throw 的一种个人应用。
- win7和linux双系统安装(转载)***…
- 文件是否存在检测的数个解决方法。
- boost编译库需要区别静态库和动态…