Java 多生产者一消费者的并发性

Java 多生产者一消费者的并发性,java,multithreading,design-patterns,concurrency,Java,Multithreading,Design Patterns,Concurrency,我有一个大学作业。我必须在上面写一个有三个线程的程序。第一个线程生成偶数。第二个线程生成奇数。最后一个线程将两个线程生成的奇数和偶数相加 我是Java并发的新手。我听说过生产者/消费者模型,其中一个生产者生产某种产品,一个消费者使用它。但在上面的场景中,我认为有两个生产者-奇数发生器和偶数发生器,以及一个消费者。如果我用生产者-消费者模型来解决这个问题,那么我说得对吗?还是有其他技术可以解决这个问题?有谁能举出一个很好的例子/资源链接?谢谢 如果我用生产者-消费者模型来解决这个问题,那么我说得对

我有一个大学作业。我必须在上面写一个有三个线程的程序。第一个线程生成偶数。第二个线程生成奇数。最后一个线程将两个线程生成的奇数和偶数相加

我是Java并发的新手。我听说过生产者/消费者模型,其中一个生产者生产某种产品,一个消费者使用它。但在上面的场景中,我认为有两个生产者-奇数发生器和偶数发生器,以及一个消费者。如果我用生产者-消费者模型来解决这个问题,那么我说得对吗?还是有其他技术可以解决这个问题?有谁能举出一个很好的例子/资源链接?谢谢

如果我用生产者-消费者模型来解决这个问题,那么我说得对吗

如果这是演习的目的,那么这就是正确的做法

还是有其他技术可以解决这个问题

你可以算出总数。您不需要多个线程,甚至不需要一个循环

public static long sumOfValuesUpTo(int n) {
    return n * (n + 1L) / 2;
}
这是更快和更简单。寻找更好的解决方案不是任务的重点,而是练习使用多个线程

有谁能举出一个很好的例子/资源链接


正如你提到的,这是一项大学作业,你必须使用3个线程,而这是你必须做的。
本作业的重点很可能是让您了解进程间通信-请参阅
wait()
notify()
或Java 7中提供的更新的锁定功能。虽然这只是基于您提供的有限信息的猜测