28.lambda表达式与多线程】的更多相关文章

#include <iostream> #include <thread> #include <Windows.h> #include <chrono> using namespace std; void main() { //获取线程id thread th1([]() { //等待 this_thread::sleep_for(chrono::seconds()); //让CPU先执行其他线程,空闲的时候再执行 this_thread::yield();…
JDK1.8 中Lambda 表达式的出现,基本可以取替原来的匿名类实现多线程的方式.下面列举常用的常用的三种情况. 一.普通开启异步线程   new Thread(() -> System.out.println("--" + "aaa")).start();1 二.线程池开启异步线程(不接收返回参数)   public static ExecutorService executor = Executors.newFixedThreadPool(10); e…
day07[线程池.Lambda表达式] 主要内容 等待与唤醒案例 线程池 Lambda表达式 教学目标 -[ ] 能够理解线程通信概念-[ ] 能够理解等待唤醒机制-[ ] 能够描述Java中线程池运行原理-[ ] 能够理解函数式编程相对于面向对象的优点-[ ] 能够掌握Lambda表达式的标准格式-[ ] 能够使用Lambda标准格式使用Runnable与Comparator接口-[ ] 能够掌握Lambda表达式的省略格式与规则-[ ] 能够使用Lambda省略格式使用Runnable与C…
函数式编程思想概述 面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做. 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情. 函数式编程思想: 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程 Lambda表达式的由来 我们查看下面的代码 package demo03; public class Demo01 { public static void main(Stri…
第三章 Lambda表达式 3.1 函数式编程思想概述 在数学中,函数就是有输入量.输出量的一套计算方案,也就是“拿什么东西做什么事情”.相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做. 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情. 函数式编程思想: 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程 3.2 冗余的Runnable代码 传统写法 当需…
线程 下面是百度写的: 定义英文:Thread每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.进程也可能是整个程序或者是部分程序的动态执行.线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务.通常由操作系统负责多个线程的调度和执行.线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 学习多线程之前,先复习一下什么叫委托. deleg…
jdk 8 开始 java 引入了lambda 表达式. lambda适用场景: 1.接口或父类 2.接口或父类只有一个方法 我们从多线程写法来推导一下: 1.外部类写法: package com.xzlf.thread; /** * Lambda 表达式推导一:外部类 * @author xzlf * */ public class LambdaTest01 { public static void main(String[] args) { ThreadA ta = new ThreadA(…
程序是指令和数据的有序集合,本身没有任何运行的含义.是一个静态的概念. 在操作系统中运行的程序就是进程(Process),如:QQ,播放器,游戏等等. 进程是程序的一次执行过程,是一个动态的概念,是系统资源分配的单位. 一个进程可以有多个线程(Thread),如视频中同时听到声音,看图像,看弹幕等等.线程是CPU调度和执行的单位 注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器. 如果是模拟出来的多线程,即在一个cpu的情况下,在同一时间点,cpu只能执行一个代码,因…
说明(2017-11-21 18:51:32): 1. 例子为求1~100的和,答案应该是5050(小学学算盘的时候,我爹就让我算,从1拨到100是多少呀?当时的我年幼无知,还不知道高斯小时候的故事,扒拉了半天高高兴兴的去说答案,结果说不对,艹!) 2. Lambda表达式是将匿名委托给简化了的写法,省去了delegate关键字,省去了参数类型,但是要保证参数类型不能出错,也就是跟委托定义时的参数类型一致. 3. 其他没啥好说的看注释,下一讲用Lambda表达式求水仙花数. 正常写法: usin…
一.委托 委托是一种用于封装命名和匿名方法的引用类型. 把方法当参数,传给另一个方法(这么说好理解,但实际上方法不能当参数,传入的是委托类型),委托是一种引用类型,委托里包含很多方法的引用 创建的方法和声明的委托返回值类型相同,参数个数相同,参数类型相同时. 这个方法就满足属于这个委托(创建的方法是 public 或者是static 都没影响,只要前三项满足即可) 用普通方式创建一个委托 //声明委托(声明委托的位置也可以在class内部) public delegate string del(…