zoukankan      html  css  js  c++  java
  • 进程与线程

    1,并发性(concurrency)和并行性的区别
     并行指在同一时刻,有多条指令在多个处理器上同时执行;
     并发指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,
     使得在宏观上具有多个进程同时执行的效果。
    2,多线程则扩展了多进程的概念,使得同一个进程可以同时并发处理多个任务。
    线程也被称做轻量级进程,线程是进程的执行单位。就像进程在操作系统中的地位一样,线程在程序
    中是独立的,并发的执行流。当进程被初始化后,主线程就被创建了。对于绝大多数的应用程序来说,
    通常仅要求有一个主线程,但也可以在该进程内创建多条顺序执行流,这些顺序执行流就是线程,每个线程
    也是互相独立的。
    3,线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程可以拥有自己的堆栈,
    自己的程序设计器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的全部资源。
    因为多个线程共享父进程里的全部资源,因此编程更加方便;但必须更加小心,因为需要确保线程不会妨碍同一进程里
    的其他线程。
    4,线程可以完成一定的任务,可以与其他线程共享父进程中的共享变量及部分环境,相互之间协同来完成进程所要完成的
    任务。
    5,线程是独立运行的,它并不知道进程中是否还有其他线程存在。线程的执行是抢占式的,也就是说,当前运行的线程
    在任何时候都可能被挂起,以便另外一个线程可以运行。
    6,一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
    7,从逻辑角度来看,多线程存在于一个应用程序中,让一个应用程序中可以有多个执行部分同时执行,但操作系统无须将
    多个线程看做多个独立的应用,对多线程实现调度和管理以及资源分配。线程的调度和管理有进程本身负责完成。
    8,简而言之:一个程序运行后至少有一个进程,一个进程里可以包含多个线程,但至少要包含一个线程。

  • 相关阅读:
    C++ Primer高速入门之六:数组和指针
    C++ Primer高速入门之六:数组和指针
    C++ Primer高速入门之六:数组和指针
    大学生毕业卖蔬菜,成就财富梦想
    美女毕业去养牛,创造自主牛肉品牌
    情侣合开夫妻店,爱情和努力让他们生活走向光明
    从3万元创业资金到年销售3亿元,看他是如何做到的?
    “海归”创办服装公司,全国竟拥有2000多家网点?
    90后卖地瓜,仅仅一个月就可以赚2万元
    老头创业弄养殖,每亩收入3万元,水蛭为啥这么值钱?
  • 原文地址:https://www.cnblogs.com/gylhaut/p/5264026.html
Copyright © 2011-2022 走看看