线程的创建进程是执行程序的一次执行过程,是一个动态的概念。
进程中有若干个线程,之间互不影响
三种创建方式:继承Thread类重写run方法
(推荐)实现Runnable接口
实现Callable接口
开启线程时调用start方法
继承Thread类★线程开启不一定立即执行,由CPU 调度执行
实现Runnable接口(推荐)重写run方法
用子类对象.start()启动
实现Callable接口重写run方法
传入目标对象+Thread对象.start()启动 //new Thread().start();
静态代理模式1、需要返回值类型
2、重写call方法,需要抛出异常
步骤:
创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1);(括号中代表可以放几个线程)
提交执行:Future
result1= ser.submit(t1); 获取结果:boolean r1 = result1.get()
关闭服务: ser.shutdownNow();
Lamda表达式 Funtional Interface(函数式接口)真实对象和代理对象都要实现同一个接口
代理对象要代理真实角色
代理对象可以做很多真实对象做不了的事,真实对象专注做自己的事情
任何一个接口,如果只包含一个抽象方法,那么它就是一个函数式接口
new Thread (()->System.out.println("多线程学习。。。")).start();
□□□□ = ()->{System.out.println("多线程学习。。。")};



