01 线程、进程概述

来源:互联网 发布:淘宝详情页的图片大小 编辑:程序博客网 时间:2024/06/09 02:34
  • 进程
    操作系统中所运行的任务通常对应一个进程(Process)。当一个程序进入内存运行时,即变为一个进程。进程处于运行过程中的程序(并非是磁盘上静态的程序)。进程是系统进行资源分配和调度的最小单位

    • 进程特性
      • 独立性:拥有自己独立的资源空间,一个用户进程不可以直接访问其他进程的地址空间。
      • 动态性:进程与程序的区别在于,程序只是一个静态的指令集合,进程是一个正在系统中活动的指令集合。进程具有自己的声明周期。
      • 并发性:多个进程可以在单个处理器上并发执行,多个进程之间不互相影响。(并发性(concurrency)和并行性(parallel)是两个概念。并行:指同一时刻有多条指令在多个处理器上同时执行。   并发:指同一时刻只能有一条指令执行,但多个进程指令给快速轮换执行)
  • 多线程
    线程(Thread)被称作轻量级进程,线程是进程执行的单元。当进程被初始化后,主线程就被创建了。

    一个进程可以拥有多个线程,一个线程必须有个父进程。线程拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的全部资源。

    线程的执行时抢占式的,即当前运行的线程在任何时候都可能被挂起,以便另一个线程可以运行。并且一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

  • 线程优势

    • 进程之间不能内存共享,线程之间内存共享
    • 系统创建进程(fork())是需要为该进程重新分配系统资源,但创建线程则代价小的多,效率高
0 0
原创粉丝点击