摘要: 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕,如:后台记录操作日志、监控内存、垃圾回收等待...... package com.jiemyx.thread.demo02; public class ThreadDaemon { public static 阅读全文
posted @ 2021-05-28 23:22 杰myx 阅读(105) 评论(0) 推荐(0) 编辑
摘要: Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10(数字越大优先级越高,小于1或者大于10都会报错) Thread.MIN_PRIORITY = 1 Thread.NORM_PRIORITY = 阅读全文
posted @ 2021-05-27 23:21 杰myx 阅读(233) 评论(0) 推荐(0) 编辑
摘要: NEW(新生、创建状态) 尚未启动的线程处于此状态。 RUNNABLE(运行状态) 在 Java 虚拟机器中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 正在等待另一个线程执行特定操作的线程处于此状态。 TIMED_WAITING 正在等待另一个线程 阅读全文
posted @ 2021-05-26 22:37 杰myx 阅读(217) 评论(0) 推荐(0) 编辑
摘要: join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 package com.jiemyx.thread.demo02; //测试join方法:可以想象成插队 public class ThreadJoin implements Runnable{ @Override 阅读全文
posted @ 2021-05-19 21:15 杰myx 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 礼让线程,让当前正在执行的线程暂停,但不阻塞,将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看CPU心情 例如:A线程、B线程在就绪状态同时竞争,CPU调度,让A线程先进入运行状态,但A线程礼让了,重新回到就绪状态,跟B线程再竞争一次。 package com.jiemyx.thr 阅读全文
posted @ 2021-05-17 21:27 杰myx 阅读(64) 评论(0) 推荐(0) 编辑
摘要: sleep(毫秒):指定当前线程阻塞的毫秒数(1000毫秒=1秒) sleep存在异常InterruptedException,需要抛出异常 sleep时间达到后线程进入就绪状态(线程五个状态的就绪状态) sleep可以模拟网络延迟(作用:放大问题的发生性)、倒计时、获取当前时间等 每一个对象都有一 阅读全文
posted @ 2021-05-17 20:58 杰myx 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 线程状态 线程中的方法 线程停止 1、 不推荐使用JDK提供的stop()、destroy()方法。(已弃用) 2、 推荐线程自己停止下来 3、 建议使用一个标志位进行终止,当变量flag=false,则终止线程运行 代码演示: 1 package com.jiemyx.thread.demo02; 阅读全文
posted @ 2021-05-15 22:37 杰myx 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 举例: 你:真实角色 婚庆公司:代理,帮你布置婚礼 代码演示: package com.jiemyx.lambda; public class StaticProxy { public static void main(String[] args) { You you = new You(); We 阅读全文
posted @ 2021-05-14 23:44 杰myx 阅读(45) 评论(0) 推荐(0) 编辑
摘要: λ希腊字母表中排序第十一位的字母,英文名称为Lambda Lambda表达式,避免匿名内部类定义过多,代码看起来简洁 Lambda表达式,前提是函数式接口 其实质属于函数式编程的概念 (params) -> expression[表达式] (params) -> statement[语句] (par 阅读全文
posted @ 2021-05-13 23:05 杰myx 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 创建线程(三种创建方式) 1、Thread类:继承Thread类 2、Runnable接口:实现Runnable接口 3、Callable接口:实现Callable接口 继承Thread类 1、自定义线程类继承Thread类 2、重写run()方法,编写线程执行体 3、创建线程对象,调用start( 阅读全文
posted @ 2021-05-12 22:23 杰myx 阅读(58) 评论(0) 推荐(0) 编辑