咖啡基础语法
多线程
一.进程与线程(process and thread)
进程:操作系统运行的任务或程序,拥有独立的代码和数据空间,包含最少一个线程
线程:就是一个独立执行的路径,可以有多个由CPU调动,人为干预需要用并发控制
二.run(),与start()的区别
三.创建的方式
Thread
Runnable(函数式接口,用lamda表达书简化)
Callable(可以有返回值)
四.静态代理
1.目标对象和代理对象实现同一个接口,代理对象代理真实角色,
2.代理对象做一些真实对象无法处理的事情
3.真实对象专注做自己的事情
四.线程状态
1.新建
2.就绪
(2.5)阻塞
3.运行
4.死亡
五.常用方法
1.jojn(插队)
2.sleep(等待)
3.yield(礼让)
4.start(开始)
5.isAlive(存活)
6.priority(get and set)优先级
7.interrupt(中断)
六.线程同步(lock)
1.多个线程争抢一个资源,会出现极大的安全问题,(并发问题)
2.synchronized(同步代码块比较常用,同步方法弊端太多锁太多,影响效率),避免死锁
3.lock(优先级高)(ReentrantLock 可重入锁)lock and unlock,trylock
七.线程通信
1.缓冲区:消息队列
2.wait and notify(all)
八.线程池
池化技术
池的大小,最大连接数,保持时间
Executors



