Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将任务分离为新Java线程与新进程_Java_Multithreading - Fatal编程技术网

将任务分离为新Java线程与新进程

将任务分离为新Java线程与新进程,java,multithreading,Java,Multithreading,我正在考虑将一个任务从主程序分离到一个新的java线程。第二项任务可能是资源消耗,这引起了对主项目福祉的担忧 将第二个任务作为一个完整的独立进程运行,就像从命令行调用它一样,与在新的java线程中运行它有什么区别吗 通过Java和内核线程之间的1-1映射,深入了解Solaris中的底层线程实现 在Linux上我能期望什么 谢谢 Ariel一般来说,作为一个单独的进程运行比作为一个单独的线程运行需要更重的任务分离。如果任务需要共享内存状态,那么这将促使您采用基于线程的实现。否则,单独的过程可能有意

我正在考虑将一个任务从主程序分离到一个新的java线程。第二项任务可能是资源消耗,这引起了对主项目福祉的担忧

将第二个任务作为一个完整的独立进程运行,就像从命令行调用它一样,与在新的java线程中运行它有什么区别吗

通过Java和内核线程之间的1-1映射,深入了解Solaris中的底层线程实现

在Linux上我能期望什么

谢谢


Ariel

一般来说,作为一个单独的进程运行比作为一个单独的线程运行需要更重的任务分离。如果任务需要共享内存状态,那么这将促使您采用基于线程的实现。否则,单独的过程可能有意义

你提到的幸福问题是一个真正的问题。如果任务在逻辑上是可分离的,那么在这里使用单独的进程是有意义的,因为您不希望资源密集型进程破坏另一个进程。不同的负载特征通常意味着您希望能够将一个任务提取出来,并将其移动到能够更好地支持它的基础架构中


我不认为线程实现细节应该是驱动因素。使用进程和使用线程之间的决定处于更高的级别。

一般来说,作为单独的进程运行需要比作为单独的线程运行更重的任务分离。如果任务需要共享内存状态,那么这将促使您采用基于线程的实现。否则,单独的过程可能有意义

你提到的幸福问题是一个真正的问题。如果任务在逻辑上是可分离的,那么在这里使用单独的进程是有意义的,因为您不希望资源密集型进程破坏另一个进程。不同的负载特征通常意味着您希望能够将一个任务提取出来,并将其移动到能够更好地支持它的基础架构中


我不认为线程实现细节应该是驱动因素。使用进程和使用线程之间的决定在更高的层次上存在。

您可以考虑的事项:

他们之间有什么交流吗。如果是,请记住进程间通信比线程间通信复杂。 如果您有可能通过将第二个任务分离到另一台机器中来实现性能,那么将来可能会比将第二个任务分离到一个进程中更有益。 将它们分成两个流程是否会增加部署/管理问题?
您可以考虑的事项:

他们之间有什么交流吗。如果是,请记住进程间通信比线程间通信复杂。 如果您有可能通过将第二个任务分离到另一台机器中来实现性能,那么将来可能会比将第二个任务分离到一个进程中更有益。 将它们分成两个流程是否会增加部署/管理问题?
你所说的有区别是什么意思?你的意思是为了实现它而在代码上有所不同吗?或者,您的意思是在如何影响机器资源方面存在差异?您所说的差异是什么意思?你的意思是为了实现它而在代码上有所不同吗?或者,您的意思是在如何影响机器资源方面存在差异吗?