2013-07-23 1 views
0

Глядя на какой-то унаследованного кода и программист в вопросе использует:Является ли cfexecute timeout = 0 таким же хорошим, как cfthread action = run, если не требуется вывод?

<cfthread action="run"> 
    <cfexecute name="c:\myapp.exe" timeout="30"> 
</cfthread> 

Можно смело заменить код выше с этим?

<cfexecute name="c:\myapp.exe" timeout="0"> 

Действительно ли CF собирается порождать нить в коде выше? И будет ли поток использоваться для «Максимального количества потоков, доступных для CFTHREAD»?

ответ

2

Если целью является неблокирующий поток кода, вы можете спокойно заменить предыдущий код на свой.

В моем понимании, CF не создает поток, когда он получает таймаут = «0». Это должен быть просто вызов exe (который создает новый процесс на сервере) и никогда не дожидаться ответа процесса. Таким образом, ничто не добавляется к счету ограничения потока.