Loading

上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 19、生产者消费者问题 1.线程通信 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取走消 阅读全文
posted @ 2022-02-17 15:53 Cn_FallTime 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 18、Lock锁 从jdk5.0开始,java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Loc 阅读全文
posted @ 2022-02-17 11:45 Cn_FallTime 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 17、死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题。(两个或者多个线程互相抱着对方需要的资源,然后形成僵持) ####案例演示 //多个 阅读全文
posted @ 2022-02-17 11:26 Cn_FallTime 阅读(27) 评论(0) 推荐(0) 编辑
摘要: //测试juc安全类型的集合 public class TestJUC { public static void main(String[] args) { CopyOnWriteArrayList<String> copyOnWriteArrayList=new CopyOnWriteArrayL 阅读全文
posted @ 2022-02-16 23:18 Cn_FallTime 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 18、线程同步机制 多个线程操作同一个资源 并发:同一个对象被多个线程同时操作 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步。线程同步其实就是一个等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面的线程时候完毕,下一个线程 阅读全文
posted @ 2022-02-16 19:18 Cn_FallTime 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 15、守护线程 线程分为用户线程和守护线程(daemon) 虚拟机需要确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕(一般讲当用户线程结束后守护线程也会随之结束但不一定一定随用户线程结束而结束) 如,后台记录操作日志,监控内存,垃圾回收等 public class TestDaemon { p 阅读全文
posted @ 2022-02-16 15:52 Cn_FallTime 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 14、线程的优先级 java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY =1 Thread.MAX_PRIORITY =10 Thread.NORM_PRIORI 阅读全文
posted @ 2022-02-16 15:35 Cn_FallTime 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Thread.State 线程状态。线程可以处于以下状态之一 new 尚未启动的线程处于状态 runnable 在java虚拟机中执行的线程处于此状态 blocked 被阻塞 等待监视器锁定的线程处于此状态 waitiing 正在等待另一个线程执行特定动作的线程处于此状态 timed_waiting 阅读全文
posted @ 2022-02-16 02:34 Cn_FallTime 阅读(25) 评论(0) 推荐(0) 编辑
摘要: #Lamda表达式简化线程创建方式 ####实际上本质还是实Runnable接口的一种方法,此方法的好处是可以简化代码,利用函数式接口,将原先需要实现Runnable接口重写run方法的部分,简化为 new Runnable(){}形式(创建线程对象时实现接口方法),再简化为函数式接口Lamda表达 阅读全文
posted @ 2022-02-16 02:14 Cn_FallTime 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 12、线程强制执行_join Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 //测试join方法(vip插队) public class TestJoin implements Runnable{ @Override public void run() { fo 阅读全文
posted @ 2022-02-16 00:42 Cn_FallTime 阅读(36) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页