多任务、进程与线程

    xiaoxiao2021-12-15  56

    多任务:

           简而言之就是操作系统可以同时运行多个任务。例如,一边用浏览器上网,一边听MP3,一边看视频,一边聊QQ微信等等。对于操作系统,一个任务就是一个进程。

           单核操作系统实现多任务是通过划分时间片,每个任务占用很小的时间片,然后各任务轮流交替执行。由于时间片非常小,所以宏观上看各个任务就是同时执行的。实际是不断的切换交替执行的。

           多核操作系统可以实现真正的并发执行。

    进程:

           进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,进程是操作系统进行资源分配和调度的一个独立单位。拥有自己独立的资源。操作系统执行的一个任务就是一个进程。当运行一个程序时,就启动了一个进程。比如,打开一个记事本就是启动一个记事本进程。而打开两个记事本就是启动两个记事本进程。

    进程与程序:        程序是一组为了实现某种功能的代码化指令的有序集合,是一个静态的实体,进程是程序在某个数据集上的执行,是正在系统中活动的指令集合,是一个动态实体。进程因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被销毁,这反映了一个程序在一定的数据集上运行的全部动态过程。

    线程:

           线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程运行在进程空间内,同一进程所产生的线程共享进程的所有资源,但是线程本身不拥有系统资源。当进程退出时该进程所产生的线程都会被强制退出并清除。一个进程至少有一个线程。

    线程与进程: 线程属于进程,线程是进程内一个相对独立的、可调度的执行单元。 进程有自己独立的地址空间,进程中的线程共享进程的地址空间。 进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源。 线程是处理器调度的基本单位,而进程不是。

    一个程序运行时至少有一个进程,一个进程可以包含多个线程,但至少包含一个线程。

    转载请注明原文地址: https://ju.6miu.com/read-1000077.html

    最新回复(0)