上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 93 下一页
摘要: 只有一行代码。大括号和分号都可以省略了。 参数类型可以省略 可以推到的都可以省略 阅读全文
posted @ 2019-07-29 11:15 高山-景行 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 定义接口和抽象方法 测试类 Lambda方式 阅读全文
posted @ 2019-07-29 11:04 高山-景行 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 新建Person类 name和age两个成员变量,重写toString的方法,有参构造,无参构造。getter和setter 前面减去后面 就是升序排列 排序后输出 Lambda的方式简化匿名内部类 阅读全文
posted @ 2019-07-29 10:57 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要: lambda标准格式dingyi 定义厨子的接口 定义无参数无返回值的接口 Lambda 阅读全文
posted @ 2019-07-29 10:51 高山-景行 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-29 10:30 高山-景行 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 需要转换编程思想,用这种函数式的编程思想 Lambda 阅读全文
posted @ 2019-07-29 10:19 高山-景行 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 简化代码:匿名内部类的方式 继续简化代码,在thread里面匿名内部类的方式 这个程序里面有很多冗余的代码, 使用匿名内部类简化了程序。 最重要的就是这条输出语句。目的就是谁用多线程把这条语句输出出来。什么匿名内部类,重写方法等都是多余的 阅读全文
posted @ 2019-07-29 10:12 高山-景行 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 函数式编程和面向对象的区别 阅读全文
posted @ 2019-07-28 23:49 高山-景行 阅读(91) 评论(0) 推荐(0) 编辑
摘要: JDK1.5之后提供的 Execituors生产线程池的工厂类 线程池的接口类:ExecutorService 1创建线程池的工厂类 创建类实现Runnable接口,重写里面的run方法 传递线程池任务,执行 线程池里一共就两个线程 销毁线程池 线程池销毁后 程序自动停止 线程池毁后再来执行线程任务 阅读全文
posted @ 2019-07-28 23:46 高山-景行 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 线程的底层原理 集合有很多种,线程池的集合用LinkedList最好 阅读全文
posted @ 2019-07-28 23:09 高山-景行 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 创建吃货类 测试类 阅读全文
posted @ 2019-07-28 23:03 高山-景行 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 创建包子类 包子铺 定义包子的成员变量,生成一个带包子参数的构造方法 继承Thread线程类。重写run方法。保证只有一个在执行,所以用到同步技术 wait要try catch 外层定义变量,标明生产包子的数量 生产好了包子进行唤醒 加上while循环 阅读全文
posted @ 2019-07-28 22:56 高山-景行 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 吃货线程 测试类 阅读全文
posted @ 2019-07-28 22:47 高山-景行 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-28 22:41 高山-景行 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-28 22:32 高山-景行 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 把上一节买包子的代码拿过来。并没有老板的的线程的代码 5秒后自动执行后续代码 再复制一份顾客的代码 区分为顾客1和2 nortify线程只能唤醒一个。 每次只能唤醒一个线程 两个线程都唤醒 阅读全文
posted @ 2019-07-28 22:29 高山-景行 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 创建匿名线程类,里面重写run方法 保证等待和唤醒线程只有一个在执行 这里的异常只能用try catch 不用用throws的方式,因为父类的run方法没有抛异常,所以之类也不能抛 顾客的线程写完了,调用start开始执行 写老板的线程 老板需要花5秒做包子,所以需要睡眠5秒。sleep有异常需要t 阅读全文
posted @ 2019-07-28 22:16 高山-景行 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Waiting 等待唤醒,也叫作线程之前的通讯 一个线程等待,一个线程唤醒,形成线程之间的通讯 阅读全文
posted @ 2019-07-28 19:53 高山-景行 阅读(131) 评论(0) 推荐(0) 编辑
摘要: Thread中有个嵌套类 它描述了线程的状态 线程状态的图 Object类中的Wait方法和notify方法 阅读全文
posted @ 2019-07-28 19:48 高山-景行 阅读(121) 评论(0) 推荐(0) 编辑
摘要: jdk1.5之后出现的 lock接口的实现类 第一步骤创建lock对象,这里是多态的写法 代码放在try catch里面 无论程序是否有一场,最终都会解锁。 阅读全文
posted @ 2019-07-28 19:39 高山-景行 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 因为方法是静态的,所以变量也要是静态的。静态访问静态 同样可以保证线程的安全 静态方法的锁对象 这里代码块用this就报错。 使用Runnablec.class可以保证锁对象是唯一的 阅读全文
posted @ 2019-07-28 19:29 高山-景行 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 这里输出一下this对象 这里再打印run。看看和this是不是同一个对象 所以同步对象默认使用的对象就是当前线程对象。 把方法体的sunchrized注释。然后下面用方法体锁住this对象。如果能保证安全就说明this是唯一的 输出的结果 同样可以保持唯一 阅读全文
posted @ 2019-07-28 19:25 高山-景行 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-28 19:18 高山-景行 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 同步代码块 解决了线程安全的问题。 阅读全文
posted @ 2019-07-28 19:03 高山-景行 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 解释一下线程安全问题产生的原理 三个线程t0 t1 t2 。加上t0抢到cpu的执行权 t0抢到了cpu的执行权。,但是走到if语句的地方。执行了sleep,就失去了执行权 假设t2抢到了执行权也来执行run方法 t2睡醒了 重复票的问题。三个线程同时执行到了 输出的这行代码 总结 阅读全文
posted @ 2019-07-28 18:53 高山-景行 阅读(131) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 93 下一页