线程安全
海子幸福人
也无风雨也无晴
展开
-
深入理解线程通信
前言开发中不免会遇到需要所有子线程执行完毕通知主线程处理某些逻辑的场景。或者是线程 A 在执行到某个条件通知线程 B 执行某个操作。可以通过以下几种方式实现:等待通知机制等待通知模式是 Java 中比较经典的线程通信方式。两个线程通过对同一对象调用等待 wait() 和通知 notify() 方法来进行通讯。如两个线程交替打印奇偶数:运行之后的结果如...原创 2021-11-26 15:35:39 · 99 阅读 · 0 评论 -
java线程安全问题以及使用synchronized解决线程安全问题的几种方式
一、线程安全问题1.产生原因 我们使用java多线程的时候,最让我们头疼的莫过于多线程引起的线程安全问题,那么线程安全问题到底是如何产生的呢?究其本质,是因为多条线程操作同一数据的过程中,破坏了数据的原子性。所谓原子性,就是不可再分性。有物理常识的小伙伴可能要反驳了,谁说原子不可再分?原子里边还有质子和中子。我们不在这里探讨物理问题,我确实也没深究过为什么被称为原子性,也许是这个原则出现...转载 2018-09-18 15:59:40 · 573 阅读 · 0 评论 -
JAVA多线程实现的四种方式和线程池的参数解析
JAVA多线程实现的四种方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。1、继承Thread类创建线程Threa...原创 2019-04-18 14:24:32 · 1513 阅读 · 1 评论