场景:三个异步消费组,每组有12个任务, 且每组最多执行三个任务,要求任务之间异步执行。
--- 任务一
1组 --- 任务二
--- 任务三
--- 任务一
2组 --- 任务二
--- 任务三
--- 任务一
3组 --- 任务二
--- 任务三
Java小白无从下手,求大佬解答或指点思路
场景:三个异步消费组,每组有12个任务, 且每组最多执行三个任务,要求任务之间异步执行。
--- 任务一
1组 --- 任务二
--- 任务三
--- 任务一
2组 --- 任务二
--- 任务三
--- 任务一
3组 --- 任务二
--- 任务三
Java小白无从下手,求大佬解答或指点思路
可以模拟下三个卖票的问题:
如有帮助请在我的回答上点个【采纳】
//并发:两个或多个线程 同时访问一个共享资源的现象
public class Tickets implements Runnable {
int count = 100;// 总票数
public void run() {
while (true) {
// 1、给程序段加上互斥锁
synchronized (this) {
if (count < 1) {
System.out.println("票已售罄");
break;
}
count--;// 余票减1
System.out.println(Thread.currentThread().getName()
+ " 卖出了一张票,还剩" + count);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Tickets t = new Tickets();
Thread a = new Thread(t, "赣州站");
Thread b = new Thread(t, "广州站");
Thread c = new Thread(t, "上海站");
a.start();
b.start();
c.start();
}
}