zoukankan      html  css  js  c++  java
  • 进程和线程的关系

    进程(process)和线程(thread)是操作系统的基本概念
    1-计算机的核心是CPU,他承担了所有的计算机任务,他就像一个工厂,时刻在运行
    2-假设工厂的电力是有限的,一次就只能供给一个车间使用,也就是说,一个车间开工的时候,其他的车间必须停工。含义就是,单个CPU一次只能运行一个任务。
    3-进程就好比工厂的车间,他代表CPU所能处理的单个任务,任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。
    4-一个车间里,可以有好多工人,他们协同完成一个任务,线程就好比车间的工人,一个进程可以包含多个线程。
    5-车间的空间是工人共享的,这象征一个进程的内存的空间是共享的,每个线程可以使用这些共享内存
    6-每个房间的大小不同,有些空间只能容纳一个人,比如厕所,里面有人,其他人就不能进去,这代表着一个线程使用某些共享的内存时,其他线程就必须等他结束,才能使用这块内存
    7-一个防止其他人进入的简单方法,就在门口加一把锁。先到的人先锁上门,后道的人看到上锁,就在门口排队,等锁打开在进去,这就叫“互斥所”(Mutual exclusion,简写:Mutex),防止多个线程同时读取每一块内存的区域。

    操作系统的设计,总结
    1-以多进程的形式,允许多个任务同时运行
    2-以多线程形式,允许单个任务分成不同的部分允许
    3-提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源

  • 相关阅读:
    JVM(5)之 GC之标记
    JVM(4)之 使用MAT排查堆溢出
    JVM(3) 之 内存分配与回收策略
    JVM(2)之 JAVA堆
    JVM(1)之 JAVA栈
    MySQL查询时报错Illegal mix of collations
    struts2 基础学习
    python3.4 + pycharm安装与使用
    Pycharm激活
    IntelliJ IDEA 2018.2激活
  • 原文地址:https://www.cnblogs.com/DonAndy/p/6127445.html
Copyright © 2011-2022 走看看