线程的名词概念

1-线程与进程

单核 CPU 一个时间片里只能执行一个进程。

但是因为它切换速度很快,所以我们感受不到,就造成了一种多进程的假

象。

(多核 CPU 那真的就是并行执行的了。)

并行才是真正意义上的同一时刻可以有多个任务同时执行

2 互斥锁

如果公共区域(堆内存)的数据,要被多个线程操作时,
为了确保数据的安全(或一致)性,
需要在 数据旁边放一把锁,要想操作数据,先获取锁再说吧。

3-使用单线程的好处

不必考虑线程安全问题。很多操作都不必加锁,既简化了开发,又提高了性能;

减少线程切换损耗的时间。

线程一多,CPU在线程之间切来切去是非常耗时的,单线程服务器则没有了这个烦恼;

4-同步和异步

同步

对于一次方法的调用来说,同步方法调用一旦开始,
就必须等待该方法的调用返回,后续的方法才可以继续执行;

异步

异步的话,方法调用一旦开始,就可以立即返回,调用者可以执行后续的方法,
这里的异步方法通常会在另一个线程里真 实的执行,而不会妨碍当前线程的执行。

5 -synchronized

一个线程想要执行 synchronized 修饰的方法里的代码,
首先是尝试获得锁,如果拿到锁,执行 synchronized 代码体 的内容。

如果拿不到锁的话,这个线程就会不断的尝试获得这把锁,
直到拿到为止,而且多个线程同时去竞争这把锁,也就是会出 现锁竞争的问题。

posted @ 2021-12-12 09:35  姚狗蛋  阅读(18)  评论(0编辑  收藏  举报