线程创建1.线程简介
多线程中多个线程同时执行,由CPU调度
2.**线程实现
3.线程状态
4.**线程同步
5.线程通信问题
6.高级主题(线程池)
静态代理模式**继承Thread类
//继承Thread类,重写run()方法,调用start()开启线程 public class TestThread extends Thread{ public void run(){ //run方法线程体 for(int i = 0; i < 20; i++) System.out.printf("我在看代码-->"+i); } } public static void main(String[] args){ //创建线程对象 TestThread testThread = new TestThread(); //调用start()方法,开启线程 testThread.start(); //main线程,主线程 for(int i = 0; i < 20; i++){ System.out.print("我在看多线程--"+i); } }**实现Runnable接口
public class TestThread implements Runnable{ public void run(){ //run方法线程体 for(int i = 0; i < 20; i++) System.out.printf("我在看代码-->"+i); } } public static void main(String[] args){ //创建Runnable接口实现类对象 TestThread testThread = new TestThread(); //创建线程对象,通过线程对象来开启我们的线程->代理 Thread thread = new Thread(testThread ); thread.start(); //new Thread(testThread).start(); for(int i = 0; i < 20; i++) System.out.printf("我在学习多线程-->"+i); }实现Callable接口·
public class TestCallable implements Callable{ public void call(){ //重写call方法 return ture; } } public static void main(String[] args){ //创建执行服务 ExecutorService ser = Excutors。newFixedThreadPool(3);//包含三个线程的线程池 //提交执行 Futurer1 = submit(TestCallabe) //获取结果 Boolean rs1 = r1.get(); System.out.printf(rs1); //关闭服务 ser.shutdownNow(); }
public class StactiProxy{
public static void main(String[] args){
WeddingCompany weddingCompany = new weddingCompany(new You());
weddingCompany.HappyMarry();
}
}
interface Mary{
void HappyMarry();
}
class You implements Marry{
public voifHappyMarry(){
System.out.println("我要结婚了")
}
}
class WeddingCompany implements Marry{
private Marry target;
public WeddingCompany(Marry target){
this.taregt = target;
}
public void HappyMarry(){
before();
this.target.HappyMarry();
after();
}
private void before(){
System.out.println("结婚前:布置现场")
}
private void after(){
System.out.printf("结婚后:收尾款")
}
}
Lamda表达式


