2010-11-11 2 views
0

В чем разница междуЧто делает fork = "true" в реальных сценариях?

<target name="target_fork" description="with fork" fork="true"> 
</target> 

и

<target name="target_nofork" description="no fork"> 
</target> 

Я всегда думал, что это означало, что цель будет вернуться и продолжить выполнение, когда он вызывает другие цели или внешние файлы сборки, только если вилка является истинным , Но некоторые быстрые тестовые скрипты не доказывают это.

ответ

1

Обновлено:

Свойство fork=true не имеет никакого эффекта.

Термин fork обычно означает, что код запуска в задачи, а не цель, как вы предлагаете, будет выполняться в другом процессе (Virtual Machine в Java-жаргоне).

Это зависит от разработчика задачи, например NUnit в NAnt или задачи Java в ANT, чтобы определить значение свойства fork.

+0

Это для производительности, чтобы асинхронно запускать задачу? – CRice

+0

Обычно я запускаю задачу, если есть риск, что она может сбить этот процесс. Если вы запустите его в развилке, он не спустит ваш «основной» скрипт. Я не знаю о проблемах с производительностью. Запуск нового экземпляра виртуальной машины обычно означает больше ресурсов. – Michael

+0

Я начинаю думать с точки зрения муравья, вы правы, но с точки зрения nant целей, вилка вообще ничего не делает http://nant.sourceforge.net/release/latest/help/fundamentals/targets.html (хотя кажется, что есть атрибут fork для элемента nunit nunit test, который запускает тест в отдельном AppDomain): http://nant.sourceforge.net/release/latest/help/tasks/nunit.html – CRice

Смежные вопросы