它看起来很普通,但是javac不能同时编译的技术原因是什么?我读到eclipse编译器是并行的,为什么不用javac?
答案 0 :(得分:1)
编译器实际并行工作是非常不寻常的,我找不到任何说Eclipse的Java编译器是例外的来源。
eclipse有能力做的是同时并行编译多个文件。这与Eclipse自带的Java编译器无关。如果它确实使用了javac,它可以并行运行多个javac
实例 - 这没有问题。事实上,当您运行具有多个线程的构建时,正是构建工具(如maven)所做的事情。
答案 1 :(得分:-2)
我认为它使 javac 程序变得简单,如果它是内部并行的,那么必须处理许多竞争条件,这使事情变得复杂。要使用多核,你可以创建多个javac进程来达到同样的目标,似乎makefile和gcc就是这样工作的。
“保持简单和愚蠢”