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();
	}
}