java并发编程(一)-线程相关的基本概念

CPU核心数和线程数的关系

核心数:线程数 = 1:1

intel引入超线程技术之后--》 核心数:线程数 = 1:2

CPU时间片轮转机制-又称RR 调度 

时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在 CPU 上运行一个时间片的时间。时间片是一个小的时间单位,通常为 10~100ms 数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把 CPU 分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

什么是进程和线程

进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源
线程:CPU调度的最小单位,必须依赖进程而存在。

并行和并发

并行:同一时刻,可以同时处理事情的能力
并发:与单位时间相关,在单位时间内可以处理事情的能力

举例:

并行:卖奶茶的地方,有三个队伍卖奶茶,这时候我们说并行为3,强调同时

并发:卖奶茶的地方,只有一个队伍卖奶茶,队伍的长度为并发,强调在某段时间内,处理事情的能力

高并发编程的优缺点

优点:可以充分的利用cpu的资源、加快用户响应的时间,程序模块化,异步化。

缺点:

         1. 多线程共享资源,多线程之间存在冲突。

         2. 容易导致计算机死锁。

         3. 启用太多的线程,容易导致机器宕机。

猜你喜欢

转载自blog.csdn.net/a1173537204/article/details/88815624