线程池和lambda表达式
线程池
1.什么是线程池.
一个用来创建和管理线程的容器;
2.线程池的作用.
提高线程的复用性,降低资源消耗
提高线程的响应速度,提高线程的可管理性
3.线程的核心思想;
线程的复用
4.线程池的创建
ExecutorService pools = Executors.newFixedThreadPool(线程的个数);
submit() ;表示加入线程池
5.线程死锁
什么是线程死锁: 就是程序互相进入等待状态
线程通信
前提:线程与线程之间的通信比较的容易。
因为线程与线程是属于同一个进程的,在内存中属于同一块区域。
线程通信必须先保证线程安全。
线程通信的原因:
软件领域中经常有生产者和消费者模型。
一般来说:通用的模型是生产者生产出商品,消费者应该立即消费。
生产商品不能过多,消费商品不能没有。
简单来说:生产者生产商品,消费者商品商品,生产者继续生产商品 ,消费者继续消费商品
Lambda表达式
1.什么是lambda表达式?
是JDK1.8以后的新技术,用于简化匿名内部类代码书写的
2.为什么要用匿名内部类
匿名内部直接new对象重写方法,无须定义子类.
3.Lambda表达式的格式
(数据类型 变量名 ,数据类型 变量名 ) ->{
执行的代码
}
4. Lambda表达式使用的前提条件(重要):
(1)只能简化接口的匿名内部类写法
(2)接口中必须只能有一个抽象方法
(3).Lambda表达式只能简化函数式接口
函数式接口:
(1)首先是一个接口。
(2)这个接口中只能有一个抽象方法。
满足这两个条件才可以使用Lambda表达式
函数式接口都会加上@FunctionalInterface,表示这个接口必须是函数式接口。
线程池和lambda表达式的更多相关文章
- Java之线程池和Lambda表达式
线程池和lambda表达式 学习线程池和lambda表达式的理解 补充一个知识点(单例设计模式) 在多线程中,我们只需要一个任务类,为了防止创建多个任务类,这个时候就需要用到单例模式,单例模式有两种设 ...
- 线程池、Lambda表达式
线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 (正 ...
- JavaSE学习笔记(13)---线程池、Lambda表达式
JavaSE学习笔记(13)---线程池.Lambda表达式 1.等待唤醒机制 线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同. 比如:线程A用来生成包子的,线程B用 ...
- 01 语言基础+高级:1-7 异常与多线程_day07 【线程池、Lambda表达式】
day07[线程池.Lambda表达式] 主要内容 等待与唤醒案例 线程池 Lambda表达式 教学目标 -[ ] 能够理解线程通信概念-[ ] 能够理解等待唤醒机制-[ ] 能够描述Java中线程池 ...
- 328 day07线程池、Lambda表达式
day07[线程池.Lambda表达式] 主要内容 等待与唤醒案例 线程池 Lambda表达式 教学目标 -[ ] 能够理解线程通信概念 -[ ] 能够理解等待唤醒机制 -[ ] 能够描述Java中线 ...
- Java【线程池、Lambda表达式】
见pdf 等待唤醒机制 wait和notify 第二章 线程池 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低 系统的效率,因为频繁创建线程和销毁 ...
- Java线程池 与Lambda
七.线程池.Lambda 1.1基本概念: 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多的资源. 1.2线程池的好处: ...
- 1.1 lambda表达式
一.处理匿名内部类 1.Runnable接口 new Thread(new Runnable() { public void run() { System.out.println("hell ...
- jdk 8 lambda表达式以及Predicate接口
了解lambda之前先了解下什么是函数式接口,函数式接口即接口里必须有一个抽象方法(抽象的方法只能有一个,可以有其他的用default修饰的方法) jdk8里新增了一个@FunctionalInter ...
随机推荐
- Redis真的那么好用吗
Redis是什么 Redis是一个开源的底层使用C语言编写的key-value存储数据库.可用于缓存.事件发布订阅.高速队列等场景.而且支持丰富的数据类型:string(字符串).hash(哈希).l ...
- ubuntu下安装rtl8811cu/rtl8821cu网卡 Tplink WDN5200H网卡
博客园第一篇博客,CSDN现在让人眼花缭乱了 @_@ 由于需要wifi调试,笔记本内置的网卡有点不太灵光,买了个TPLINK的WDN5200H AC网卡,给虚拟机用,折腾一下成功了github上有rt ...
- 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:
小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...
- 转载unity编辑器xml数据库插件
unity编辑器xml数据库插件 注:9月9日更新,其中MyXML.cs中有一句代码写错,查找功能失误,文中已经修改! 注:9月1日更新说明:xml存储结构,因为在用xml之前不知道正规的xml数据结 ...
- .Net基础篇_学习笔记_第七天_Continue关键字的用法
Continue: 立即结束本次循环,判断循环条件: 如果成立,则进行下一次循环,否则退出循环. Continue和break的区别: 遇到break,循环不继续. 遇到continue,本次循环也不 ...
- .Net基础篇_学习笔记_第五天_流程控制while循环002
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- mgo操作mongodb
mgo基本使用: http://labix.org/mgo 安装 # go get gopkg.in/mgo.v2 package main import ( "fmt" &quo ...
- Golang 入门系列(十五)如何理解go的并发?
前面已经讲过很多Golang系列知识,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863.html, 接下来要说的 ...
- C#基础知识总结(一)
1.什么是匿名函数?匿名函数,就是没有名字的函数,或者说就是一组代码块,他的参数只有在方法块内有效,可以有效的减小创建方法事所需要的系统开销 2.lambda表达式是什么?lambda表达式 就是一个 ...
- php tp5 composer
## php tp5 composer安装tp5.1需要先去装个Apache或者Nginx,再装个php环境.一般Windows可以直接使用xmapp.然后tp5好像python的django啊... ...