Jin*_*ong 7 java multithreading multiprocessing
Java支持多线程,Java也支持Process,ProcessBuilder和Runtime.exec()的多进程...
我清楚地知道线程和进程的定义,以及它们在os概念中的区别.
但我想知道为什么以及在什么情况下我们需要在Java应用程序中使用多进程而不是多线程?
不一定将进程视为线程的替代品.java中的进程是执行外部命令的便捷方式.它们在一般并行方案中并不是那么有用,因为它们启动和同步很麻烦.
它们的另一个好用途是隔离可能不会终止或导致堆栈溢出的本机代码(或任何其他无法控制的代码).如果要在一个线程内运行它可能会导致整个过程失败.相反,你可以产生一个新的进程然后强行杀死它而不用担心它.
最重要的是,processes
作为补充使用的原因threads
可能是
尽管如此,在大多数应用程序threading
中,由于内存原因,易于生成以及(相对)简单易用性,它是首选工具.
归档时间: |
|
查看次数: |
3214 次 |
最近记录: |