并发
文章平均质量分 68
Mars-xq
好记性不如烂笔头。
展开
-
java多线程并发 : 生产者-消费者模型的三种实现方式
生产者生产数据到缓冲区中,消费者从缓冲区中取数据。如果缓冲区已经满了,则生产者线程阻塞;如果缓冲区为空,那么消费者线程阻塞。方式一:synchronized、wait和notifypackage day4;//wait 和 notifypublic class ProducerConsumerWithWaitNofity { public static void main(String[] args) { Resource resource = new Resource原创 2021-05-10 12:06:40 · 2787 阅读 · 0 评论 -
Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
参考: Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition java中Condition类的详细介绍(详解)Object + synchronizedwait,notify,notifyAll 是定义在Object类的实例方法,用于控制线程状态三个方法都必须在synchronized 同步关键字所限定的作用域中调用,否则会报错java.lang.IllegalMonitorStateException ,意思是因为没有同步,所以线程对对象锁的状态原创 2021-05-08 12:32:39 · 105 阅读 · 0 评论 -
java 并发多线程 : 主线程等待子线程结束的三种方式:join / CountDownLatch / CyclicBarrier
参考多线程001 - 主线程等待子线程结束多线程002 - 再谈CountDownLatch多线程003 - 再谈CyclicBarrier在主线程中启动一些子线程,等待所有子线程执行结束后,主线程再继续执行。比如:老板分配任务,众多工人开始工作,等所有工人完成工作后,老板进行检查。解决方法分析:主线程通过join等待所有子线程完成后,继续执行;主线程知道子线程的数量、未完成子线程数量,主线程等待所有子线程完成后,才继续执行。一、join直接调用Java API中关于线程的j原创 2021-05-07 14:58:49 · 767 阅读 · 0 评论 -
java多线程并发按顺序依次打印ABCD---java多线程的一道经典面试题
import java.util.concurrent.atomic.AtomicInteger;/** * 4个线程依次打印ABCDABCDABCD... */public class Test1 { public static class MyThread extends Thread { private final AtomicInteger currentCount; private final String word; priva原创 2021-05-07 11:24:13 · 91 阅读 · 0 评论 -
Java 线程 : Runnable与Callable区别
参考:Java Runnable与Callable区别public interface Callable<V> { V call() throws Exception;}public interface Runnable { void run();}相同点都是接口都可以编写多线程程序都采用Thread.start()启动线程...原创 2019-10-31 11:39:34 · 525 阅读 · 0 评论 -
Java创建线程的两种方式
参考:Java创建线程的两种方式导航:继承Thread类实现Runnable方法start()方法和run()方法区别比较实现接口的方式比继承类的方式更灵活,也能减少程序之间的耦合度,面向接口编程也是设计模式6大原则的核心 implements Runnable public class RunnalbleTest2 implements Runnable { priv...原创 2019-10-31 11:27:22 · 130 阅读 · 0 评论 -
java并发: 多线程与volatile、AtomicInteger、ReentrantLock、Condition、Semaphore
参考:Java 每日算法,三个线程按顺序打印题目一启动3个线程A、B、C,使A打印0,然后B打印1,然后C打印2,A打印3,B打印4,C打印5,依次类推。/** * 启动3个线程A、B、C,使A打印0,然后B打印1,然后C打印2,A打印3,B打印4,C打印5,依次类推。 */public class PrintSequenceThread implements Runnable { ...原创 2019-10-30 19:15:02 · 454 阅读 · 0 评论 -
java : 多线程保证操作同步ReentrantLock、synchronized
参考:Android 多线程保证操作同步(同步锁的俩种)同步的方式1.使用synchronized关键字。使用synchronized关键字修饰的方法会同步执行,必须要等上一个synchronized执行完才会继续执行,如果在执行过程中线程阻塞,他就会一直保持等待的状态,在这里不特别推荐使用这种方式,如果你的需求是必须保证数据同步的情况下且保证不会出现其他情况使用户无法完成操作的情况...原创 2019-10-24 18:54:25 · 196 阅读 · 0 评论 -
java : 并发线程: AtomicBoolean 与 线程原子性 :多线程只执行一次
AtomicBoolean 与 线程原子性参考:AtomicBoolean使用AtomicBoolean 的api简单使用:public class Test2 { @Test public void test1() { AtomicBoolean exists = new AtomicBoolean(false); System.out....原创 2019-10-24 18:53:23 · 1065 阅读 · 0 评论