上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 对比: new WeddingCompany(new You()).HappyMarry(); new Thread(()->{System.out.println("我爱你");}).start(); 静态代理总结: 真实对象和代理对象需要实现同一个接口 代理对象需要代理真是角色 静态代理好处: 阅读全文
posted @ 2022-05-14 03:35 Epiphany8Z 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 步骤: 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 提交执行:Future<Boolean> result1 = ser.submi 阅读全文
posted @ 2022-05-14 03:13 Epiphany8Z 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 案例: 首先来个赛道距离,然后要离终点越来越近 判断比赛是否结束 打印出胜利者 龟兔赛跑开始 故事中是乌龟赢的,兔子需要睡觉,所以我们来模拟兔子睡觉 终于,乌龟赢得比赛 代码: public class Race implements Runnable{ final int nums=100; pr 阅读全文
posted @ 2022-05-14 02:58 Epiphany8Z 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 模拟买票的场景:张三、李四和王五一起买票。 代码: public class TicketThread implements Runnable{ private int ticket =3; public static void main(String[] args) { TicketThread 阅读全文
posted @ 2022-05-14 02:32 Epiphany8Z 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 继承Thread类: 子类继承Thread类具备多线程能力启动线程:子类对象. start() 不建议使用:避免OOP单继承局限性 实现Runnable接口: 实现接口Runnable具有多线程能力 启动线程:传入目标对象+Thread对象.start() 推荐使用:避免单继承局限性,灵活方便,方便 阅读全文
posted @ 2022-05-14 02:22 Epiphany8Z 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 步骤: 定义MyRunnable类实现Runnable接口 实现run()方法,编写线程执行体 创建线程对象(将MyRunnable实例作为线程对象创建时的参数),调用start()方法启动线程 代码: public class MyRunnable implements Runnable{ @Ov 阅读全文
posted @ 2022-05-14 02:20 Epiphany8Z 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 步骤: 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 //方式一:继承Thread类 public class Demo01 extends Thread{ //主线程 public static void main(String[ 阅读全文
posted @ 2022-05-14 01:45 Epiphany8Z 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-05-14 01:23 Epiphany8Z 阅读(18) 评论(0) 推荐(0) 编辑
摘要: Process和Thread 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是 阅读全文
posted @ 2022-05-14 01:17 Epiphany8Z 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-05-14 01:15 Epiphany8Z 阅读(17) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页