线程池、Lambda表达式

线程通信概念

概念:多个线程处理同一个资源,但是处理动作(线程任务)不同。

等待唤醒机制

就是线程之间互相协作并且相互竞争的一种关系。

public void wait():释放锁,无限等待。

public void wait(long time):释放锁,定时等待。

public void notify():不会释放锁,通知随机一个人结束等待。

public void notifyAll():不会释放锁,通知所有人结束等待。

单生产者-单消费者:wait() / notify() / if或者while判断都行。

多生产者-多消费者:wait() / notifyAll() / 必须是while不能是if。

 

Java中线程池运行原理

线程池:线程池其实就是可以容纳多个线程的容器,其中线程可以反复使用,省去了创建线程对象的操作,无需反复创建线程浪费资源。

函数式编程相对于面向对象的优点

更简单,更直接,抛弃了面向对象复杂的语法,代码更加清晰。

Lambda表达式的标准格式

Lambda表达式由三个部分组成:

1,一些参数。

2,一个箭头。

3,一段代码

(参数类型 参数名称)-> {代码语句}

Lambda标准格式使用Runnable与Comparator接口

Thread(()->{System.out.println("多线程任务执行!")};).start();

Arrays.sort(array,(Person a,Person b)->{return a.getAge() ‐ b.getAge();});

Lambda表达式的省略格式与规则

规则:

1.接口名称可以省略

2.方法名称可以省略

3.小括号中的参数类型可以省略。

4.如果小括号中有且仅有一个参数,小括号可以省略。

5.如果大括号内有且仅有一个语句,无论是否有返回值,都可以省略大括号,return及语句分号。

Lambda省略格式使用Runnable与Comparator接口

Thread(()->System.out.println("多线程任务执行!")).start();

Arrays.sort(array,( a,b)-> a.getAge() ‐ b.getAge(););

Lambda的省略格式使用自定义的接口(有且仅有一个抽象方法)

 

Lambda的两项使用前提

1,使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。

2,必须要有上线文推导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值