0
点赞
收藏
分享

微信扫一扫

JAVA多线程初步学习

勇敢乌龟 2022-03-12 阅读 73

线程与进程

进程

指的是一个内存中运行的程序,每个进程都有一个独立的内存空间

线程

是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程
线程实际上是在进程基础之上的进一步划分,一个线程启动之后,里面的若干执行路径又可以划分为若干个线程

线程调度

分时调度

所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。

抢占式调度

优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),
Java使用的为抢占式调度。
CPU使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核新而言,某个时刻,
只能执行一个线程,而 CPU的在多个线程间切换速度相对我们的感觉要快,看上去就是 在同一时
刻运行。 其实,多线程程序并不能提高程序的运行速度,但能够提高程序运行效率,让CPU的 使
用率更高。

同步与异步

同步

排队执行,效率低但是安全

异步

同步执行,效率高但数据不安全

并发与并行

并发

两个或多个事件在同一个时间段内发生

并行

两个或多个事件在同一时刻发生(同时发生)

举报

相关推荐

0 条评论