JUC基础知识回顾
1.线程与进程的关系:
- 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
- 线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。
2.线程的状态:
详细查看 THread.State 枚举类
NEW,(新建), RUNNABLE,(准备就绪) ,BLOCKED,(阻塞),WAITING,(不见不散), TIMED_WAITING,(过时不候), TERMINATED;(终结)
3.wait 和sleep的区别
wait:腾出当前cpu的资源,并且会释放当前lock的对象,让其他线程有机会去抢占cpu资源,获得运行的机会 (wait放开手去睡,放开手里的锁)
sleep:腾出当前cpu的资源,并且不会释放当前lock的对象,让其他线程有机会去抢占cpu资源,获得运行的机会(sleep握紧手去睡,醒了手里还有锁)
4.什么是并发?什么是并行?
并发:同一时刻多个线程在访问同一个资源,多个线程对准同一个点
eg:小米9今天上午10点,限量抢购,
春运抢票
并行:多项工作一起进行
eg:
泡方便面,电水壶烧水,一边撕调料倒入桶中
睡觉吹风扇,简称,边吹风便睡觉。
有志者、事竟成,破釜沉舟,百二秦关终属楚;
苦心人、天不负,卧薪尝胆,三千越甲可吞吴.
加油吧,致每个正在奋斗路上的你!!!