多线程——1 什么是线程? 进程和线程的区别与联系
什么是线程? 进程和线程的区别与联系
进程(看不懂算了)
计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程(这个也是,看不懂算了)
操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
简单点!!!!!!
操作系统 —> 汽车工厂
进程 —> 汽车零件生产车间
线程 —> 车间中的生产线
CPU —> 劳动力
内存 —> 生产原材料
工厂生产的情况:个工厂的不同车间生产不同的零件,一个车间有多条生产线生产同一种零件,每个车间需要劳动力和生产原材料,且都由工厂分配好了,每一条生产线需要的劳动力和原材料是这个车间里面的。
类似的:计算机系统中不同的应用就是不同的进程,进程所需要的CPU和内存资源是操作系统分配好的,每一个进程中可以有一个或者多个线程,线程间的资源是共享这个进程的。
【结论】一个进程有一个或多个线程,多线程是进程的多线程,线程是帮进程办事的,所以资源是共享进程的;进程的资源是分配好了的,相互间不能共享。