线程的名词概念
1-线程与进程
单核 CPU 一个时间片里只能执行一个进程。
但是因为它切换速度很快,所以我们感受不到,就造成了一种多进程的假
象。
(多核 CPU 那真的就是并行执行的了。)
并行才是真正意义上的同一时刻可以有多个任务同时执行
2 互斥锁
如果公共区域(堆内存)的数据,要被多个线程操作时,
为了确保数据的安全(或一致)性,
需要在 数据旁边放一把锁,要想操作数据,先获取锁再说吧。
3-使用单线程的好处
不必考虑线程安全问题。很多操作都不必加锁,既简化了开发,又提高了性能;
减少线程切换损耗的时间。
线程一多,CPU在线程之间切来切去是非常耗时的,单线程服务器则没有了这个烦恼;
4-同步和异步
同步
对于一次方法的调用来说,同步方法调用一旦开始,
就必须等待该方法的调用返回,后续的方法才可以继续执行;
异步
异步的话,方法调用一旦开始,就可以立即返回,调用者可以执行后续的方法,
这里的异步方法通常会在另一个线程里真 实的执行,而不会妨碍当前线程的执行。
5 -synchronized
一个线程想要执行 synchronized 修饰的方法里的代码,
首先是尝试获得锁,如果拿到锁,执行 synchronized 代码体 的内容。
如果拿不到锁的话,这个线程就会不断的尝试获得这把锁,
直到拿到为止,而且多个线程同时去竞争这把锁,也就是会出 现锁竞争的问题。
我对任何唾手而得,快速,出自本能,即兴,含混的事物没有信心。我相信缓慢,平和,细水长流的力量,踏实,冷静。我不相信缺乏自律精神和不自我建设,不努力,可以得到个人或集体的解放。