Используйте cfthread
, если имеет смысл выполнять определенный код параллельно с основным кодом обработки запросов.
Пример: скажем, вы загружаете каталог файлов, и вам необходимо выполнить одинаковую обработку для каждого, возможно, чтобы сохранить содержимое в базе данных.Затем вы можете использовать cfthread
для асинхронной обработки каждого файла.Рассмотрим этот псевдокод:
<cfdirectory directory="x" action="read" name="allFiles" />
<cfloop query="allFiles">
<cfthread action="run" name="thread-#allFiles.name#>
<!--- Read your file in and do processing --->
</cfthread>
</cfloop>
Помните, что есть настройка CF Admin, чтобы установить количество потоков, которые вы можете создать таким образом!Многое также будет зависеть от ваших системных ресурсов.
Существуют и другие примеры, которые описывают другие варианты использования более подробно.Просто сделайте поиск в Google.Я бы порекомендовал праймер Бена Надаля в качестве хорошей отправной точки.
Еще одно предупреждение: темы - это решение всех проблем!Я использовал их для обработки очереди, и столкнулся с проблемой .
В итоге cfthread
- отличная особенность ColdFusion, наслаждайтесь!