多线程与高并发
jiangzhou556
这个作者很懒,什么都没留下…
展开
-
多线程与高并发之CyclicBarrier
多线程与高并发之CyclicBarrier CyclicBarrier主要用于实现,当某一个线程需要等待其他多个线程执行完某些操作之后才开始执行。CyclicBarrier初始化了一个基数的数量,然后各个线程执行完某些操作之后,调用await方法进入等待状态,当等待的进程数量等于初始化的数量的时候,所有的线程将重新激活继续执行。CycliBarrier就跟名字一样他就是各个线程的障碍,只有全部线程到齐之后才能跨过这个障碍。 需求背景 10个运动员,不同时间到体育场比赛,所有运动员到了之后就原创 2020-05-28 11:10:13 · 376 阅读 · 0 评论 -
多线程与高并发之CountDownLatch
多线程与高并发之CountDownLatch CountDownLatch主要是用于当某个线程需要等待其他线程执行完某些操作之后再执行。CountDownLatch初始化了一个计数数量,每个线程在执行完某些操作之后,调用countdown方法实现计数器-1的操作,当计数器等于0的时候就会触发在await那个线程。 需求 假设团队有4个成员,一个是leader,3个是开发工程师,leader每天会在3个人完成当日工作的时候去review他们的代码。 实现方式 设计两个类,一个是Leader原创 2020-05-28 11:05:22 · 249 阅读 · 0 评论 -
多线程与高并发之线程死锁
线程死锁 需求背景 还是两个线程模拟卖火车票的场景,不过这个时候我们加上一些别的控制,来让程序产生死锁的现象,先上代码: public class ThreadTest02 implements Runnable { private static Integer count = 100; private Object obj = new Object(); public boolean flag = true; @Override public void ru原创 2020-05-22 16:55:41 · 276 阅读 · 0 评论 -
多线程与高并发之线程安全
线程安全 需求 使用两个线程模拟火车站两个窗口同时买票的场景 初步实现方案 定义一个全局变量count=100,定义一个线程run方法中实现买票的模拟操作(count–),最后在测试方法中定义两个线程并启动,实现买票操作;代码如下: public class ThreadTest01 implements Runnable { private Integer count = 10; private Object obj = new Object(); public void r原创 2020-05-22 16:51:23 · 319 阅读 · 0 评论