我有 4 个独立的进程,需要一个接一个地进行。
第一道工序 第二道工序 第三道工序 第四道工序
由于每个进程都是相互连接的,因此每个进程都应该在一个进程完成之前运行。
每个进程都有自己的可变长度,该长度会随着程序数据输入的增长而变化。
但是有些草图是这样的
程序运行
第一个过程 - 持续 10 秒
第二个进程 - 有 300 个 HTTP get 请求,最近 3 分钟
第三个进程 - 有 600 个 HTTP get 请求,持续 6 分钟
第四个过程 - 持续 1 分钟
程序是用java编写的
感谢您的回答!
最佳答案
Java API 中没有针对您的用例的并发支持,因为您所要求的与并发相反。您有一组四个相互依赖的操作,需要按特定顺序运行。您只需要并且应该只使用一个线程来正确处理这种情况。
根据操作的复杂程度,将每个操作放入自己的方法或类中是合理且谨慎的。
如果您坚持使用多个线程,您的主线程应该维护一个可运行列表。迭代列表。从列表中弹出第一个可运行对象,为该可运行对象创建一个新线程,启动该线程,然后在该线程上调用 join() 。主线程将阻塞,直到可运行完成。该循环将带您按顺序执行所有可运行的操作。同样,没有充分的理由这样做。可能有也可能没有不好的原因。
关于java - 独立的进程,每个进程都在多线程JAVA中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18793089/