线程和进程的关系
来源:互联网 发布:淘宝处罚条例 编辑:程序博客网 时间:2024/05/16 12:10
转载:http://www.cnblogs.com/thouger/p/5559845.html
- 电脑的cpu是核心,它处理所有的计算任务,相当于一个工厂
- 假设一个工厂里面只能允许运作一个车间,也就是说单个cpu只能运行一个进程,这时候其他进程处于非运行状态,这时候车间就相当于进程
- 但是一个车间里面,可以有很多工人,很多工人协同运行车间里面的东西,这就是多线程协成进程运行任务,一个进程可以有多个线程
- 车间有些房间是可以允许多个工人进去的,也就是说,进程的内存是可以共享的,每个线程都可以使用这些共享内存
- 有些房间容纳的人多,而厕所只允许一个人进去,也就是说,共享内存时,只允许一个线程的操作,其他线程等待(阻塞)
- 防止别人进去测试,用的是加锁,这把锁就是互斥锁(Mutual exclusion,缩写Mutex),防止多个线程同时读取某一块内存地址
- 但是也有房间是允许多个人的,也就是说,某些内存区域,只能供给固定数目的线程使用,在门口放几把钥匙,进去一个人拿一把钥匙,这叫做信号量(Semaphore)
操作系统的设计,因此可以归结为三点:
(1)以多进程形式,允许多个任务同时运行;
(2)以多线程形式,允许单个任务分成不同的部分运行;
(3)提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。
0 0
- 线程和进程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系
- 线程和进程的关系
- 进程和线程的关系
- 线程和进程的关系
- 线程和进程的关系
- 进程和线程的关系
- 进程和线程的关系
- 进程和线程的关系和区别
- 进程和线程的关系和区别
- MemCached缓存
- 项目中的.NET
- linux下升级gcc的方法
- Eclipse导入Android项目 Eclipse常见错误 中文乱码问题
- Spring线程池和JDK线程池的区别及与FutureTask配合使用得到任务执行结果
- 线程和进程的关系
- Web应用安全威胁与防治
- java8种排序
- JavaOOP ArrayList自动扩容解析
- maven 继承和聚合
- android webservice
- 控件显示和隐藏
- Android init.rc执行顺序
- android获取string.xml的值