单独的进程,每个进程都在多线程JAVA中运行

时间:2013-09-13 18:40:42

标签: java multithreading process scheduled-tasks

我有4个独立的流程需要一个接一个地进行。

第一个过程 第二个过程 第三个过程 第四个过程

因为,每个进程都是相互连接的,所以每个进程都应该在进程完成之前运行。

每个进程都有自己的可变长度,随着程序数据输入的增长,这些变量将会变化。

但是一些草图就像这样

程序运行

第一个过程 - 持续10秒

第二个进程 - 有300个HTTP获取请求,持续3分钟

第3个进程 - 有600个HTTP获取请求,持续6分钟

第4个过程 - 持续1分钟

程序是用java编写的

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

对于您的用例,Java API中没有并发支持,因为您要求的是并发支持。您有一组需要按特定顺序运行的四个相互依赖的操作。你只需要,而且应该只使用一个线程来正确处理这种情况。

根据操作的复杂程度,将每个操作放在自己的方法或类中是合理和谨慎的。

如果你坚持使用多个线程,你的主线程应该维护一个runnables列表。遍历列表。从列表中弹出第一个runnable,为该runnable创建一个新线程,启动该线程,然后在该线程上调用join()。主线程将阻塞,直到runnable完成。循环将按顺序引导您完成所有可运行的操作。同样,没有充分的理由这样做。可能有也可能没有坏理由。