并发编程

并发编程基础

2019-03-18  本文已影响38人  xiaolyuh

CPU时间片轮转机制

CPU时间片轮转机制也称时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一时间段,称作它的时间片,即该进程允许运行的时间。

进程之间的切换会产生上下文切花,每次切换需要耗费5000到2W个时钟周期。所有我们在进行并发编程的过程中因该尽量减少上下文的切换。

怎样减少上下文的切换

进程和线程

进程是程序运行资源分配的最小单位,进程内部可以有多个线程,线程之间会共享进程分配到的资源。
线程是CPU调度的最小单位,它不能单独存在,必须依附于进程。

打个比方,打开一个QQ应用是以进程,QQ里面的多个聊天窗口是线程。

并行和并发

并行同一时刻可以同时处理事情的能力,如CPU有一个核,那么并行度就是多少。
并发单位时间内可以处理事情的能力,如QPS。

并行强调的是同一时刻,而并发强调的是一个时间段

使用并发编程的优缺点

优点:充分利用系统资源。
缺点:线程间对共享资源的访问存在竞争;线程太多就产生大量的上下文切换,造成系统资源的浪费;增加系统发杂度。

上一篇 下一篇

猜你喜欢

热点阅读