我有4个独立的流程需要一个接一个地进行。
第一个过程 第二个过程 第三个过程 第四个过程
因为,每个进程都是相互连接的,所以每个进程都应该在进程完成之前运行。
每个进程都有自己的可变长度,随着程序数据输入的增长,这些变量将会变化。
但是一些草图就像这样
程序运行
第一个过程 - 持续10秒
第二个进程 - 有300个HTTP获取请求,持续3分钟
第3个进程 - 有600个HTTP获取请求,持续6分钟
第4个过程 - 持续1分钟
程序是用java编写的
感谢您的回答!
答案 0 :(得分:2)
对于您的用例,Java API中没有并发支持,因为您要求的是并发支持。您有一组需要按特定顺序运行的四个相互依赖的操作。你只需要,而且应该只使用一个线程来正确处理这种情况。
根据操作的复杂程度,将每个操作放在自己的方法或类中是合理和谨慎的。
如果你坚持使用多个线程,你的主线程应该维护一个runnables列表。遍历列表。从列表中弹出第一个runnable,为该runnable创建一个新线程,启动该线程,然后在该线程上调用join()。主线程将阻塞,直到runnable完成。循环将按顺序引导您完成所有可运行的操作。同样,没有充分的理由这样做。可能有也可能没有坏理由。