多线程与lambda表达式总结

多线程与lambda表达式总结

1.线程通信

1、等待与唤醒方法
A.等待:  Object 当中的方法 wait()
B.唤醒:  Object 当中的方法 notify()  notifyAll()
2、生产者和消费者
A.代码结构:
	run() - while(true) -> synchronized() -> if wait -> 改变bian ->notify
	
B.记忆顺序:
	RWSFWBN  "让王师傅我帮你"

2. 线程池

1、线程的含义
一个容纳多个线程的容器,提前创建好的,可以从容器中取出,使用完毕归还
举例: 共享单车 
2、线程池优点
A.资源消耗降低
B.响应速度变快
C.管理线程容易
3、线程池操作步骤
A. ExecutorService service = Executors.newFixedThreadPool(2); //创建线程池对象。 
B. MyRunnable r = new MyRunnable();	 //创建Runnable接口子类对象。(task) 
C. service.submit(r);  //提交Runnable接口子类对象。(take task) 
D. service.shutdown(); //关闭线程池(一般不做)。 


3. Lambda表达式

1. 【标准格式】
(Type1 param1,Type2 param2)->{return 语句体;}
2.【简化格式】
编译器都可以推断出lambda表达式的参数类型,所以参数类型可以省略
(param1,param2)->{return 语句体;}
3.【省略小括号】
当lambda表达式的参数个数只有一个,可以省略小括号:
param->{return 语句体;}
4.【省略大括号】
当lambda表达式只包含一条语句时,可以省略大括号、return和语句结尾的分号;
param->语句体

你可能感兴趣的:(多线程与lambda表达式总结)