摘要: Lock是显示锁,手动开启和关闭锁,记得要关闭锁;Synchronized是隐式锁,出了作用域自动释放。 Lock只有代码锁,synchronized有代码块锁和方法锁。 使用lock锁,JVM将花费较少时间来调度线程,性能更好。并且具有更好可扩展性,能提供更多的子类。 优先使用顺序:lock > 阅读全文
posted @ 2021-09-05 23:05 Eleanor123 阅读(127) 评论(0) 推荐(1) 编辑
摘要: 守护线程依赖于创建它的线程,而用户线程则不依赖。 如果在main线程中创建了一个守护线程,当main方法运行完毕之后,守护线程也会随着消亡。 main方法执行完毕后,用户线程则不会消亡,用户线程会一直运行直到其运行完毕。在JVM中,像垃圾收集器线程就是守护线程。 阅读全文
posted @ 2021-09-05 22:53 Eleanor123 阅读(241) 评论(0) 推荐(1) 编辑
摘要: 1.start()方法 start()方法用来启动一个线程,当调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。 2.run()方法 run()方法不需要用来进行调用,当通过start方法启动一个线程后,当线程获得了CPU执行时间,便进 阅读全文
posted @ 2021-09-05 22:50 Eleanor123 阅读(81) 评论(0) 推荐(1) 编辑
摘要: 1 package day02; 2 3 public class LambdaTest { 4 5 /*lambda表达式只有一行代码的情况下可以简化 6 * 前提:函数式接口,并且只能有一个方法*/ 7 public static void main(String[] args) { 8 ILo 阅读全文
posted @ 2021-09-05 18:51 Eleanor123 阅读(87) 评论(0) 推荐(1) 编辑
摘要: 1、currentThread()方法 package day02; public class ThreadTest01 { public static void main(String[] args) { System.out.println(Thread.currentThread().getN 阅读全文
posted @ 2021-09-05 18:24 Eleanor123 阅读(168) 评论(0) 推荐(1) 编辑
摘要: 序号 方法 说明 1 public static Thread currentThread() 获取当前线程对象。 2 public final boolean isAlive() 判断线程是否处于活动状态 (线程调用start后,即处于活动状态) 3 public final void join( 阅读全文
posted @ 2021-09-05 12:55 Eleanor123 阅读(34) 评论(0) 推荐(1) 编辑