day07【线程池、Lambda表达式】

主要内容

  • 等待与唤醒案例
  • 线程池
  • Lambda表达式

1 等待唤醒机制

调用wait和notify方法注意事项
1.必须用同一个锁对象调用
2.都属于Object类的方法
3.必须在同步代码块或者同步函数中使用

2 线程池

2.1容纳多个线程的容器

容纳多个线程的容器
好处
1.降低资源消耗:减少了创建线程次数
2.提高响应速度:任务不需要创建线程就可以执行
3.提高线程管理性

2.2 线程池的使用

1.创建线程池对象
2.创建Runnable接口子类对象线程任务
3.将线程任务绑定线程池
Executors类创建线程池

public static ExecutorService newFixedThreadPool(int nThreads):
返回线程池对象(可以指定线程个数的线程池)
public Future<?> submit(Runnable task)
获取线程池中某对象并执行
Future接口:记录线程执行结果。线程池创建与使用
// 创建线程池对象        
ExecutorService service = Executors.newFixedThreadPool(2);//包含2个线程对象        
 // 创建Runnable实例对象         
MyRunnable r = new MyRunnable();          
//自己创建线程对象的方式         
// Thread t = new Thread(r);         
// t.start(); ‐‐‐> 调用MyRunnable中的run()          
// 从线程池中获取线程对象,然后调用MyRunnable中的run()   
service.submit(r); 

···

3 Lambda表达式

3.1 Lambda的使用前提

1.Lambda使用必须有接口且只有一个抽象方法(也就是函数式接口)
2.必须具有上下文推断

3.2Lambda标准格式

  • 一些参数:与传统方法参数列表一样
  • 一个箭头:指向动作
  • 一段代码:方法体
    (参数类型 参数名称) -> {代码块}

3.3Lambda省略格式

省略规则:可推到可省略
1.小括号参数类型可以省略
2.如果小括号只有一个参数,可以省略小括号
3.大括号内只有一个语句,可以省略大括号、return、分号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值