进程:基本的执行单元
线程:一个进程中可能包含多个线程,至少包含一个
并发:多线程,多线程操作一个资源类,快速交替过程
并行:多核多CPU
线程状态
1、NEW
2、RUNABLE
3、BLOCKED
4、WAITING 等待
5、TIMED_WAITING 延迟等待
6、TERMINATED
JUC
java.util.concurrent
synchronized和lock的区别:
1、synchronized是关键字,是java内置的。lock是一个java类。
2、synchronized无法判断是否获得锁,lock可以判断是否获得锁
3、synchronized锁会自动释放,lock锁需要手动在finally释放锁,如果不释放锁就会死锁。
Lock锁:
多线程编程套路:1、高内聚、低耦合
2、线程 操作 资源类
3、当代程序员必备的三大技能:
lambda表达式、链式编程、流式计算
进程与线程:进程就是一个程序,而一个进程中可能包含多个线程,至少包含一个。java中中至少包含两个线程,一个mian线程,一个GC线程。
并发/并行,是什么?
并发:多线程、多个线程操作一个资源类,快速交替过程(不可同时执行),并发编程的主要目的,充分利用CPU资源,提高性能。
并行:多核多CPU
线程的状态:一共有6种
创建、运行时、阻塞、等待、延时等待、死亡
wait/sleep:
1、什么是JUC:即java.util.concurrent工具包
1、什么是JUC:
juc
生产者/消费者模型
判断、干活、通知
lock 锁-----需要锁配对;(lock-unlock)
多线程套路:
1. 高内聚,低耦合
2.线程 操作(调用对外暴露的方法 ) 资源类
lambda表达式、链式编程、流式计算
1.wait/sleep
JUC 并发编程