ВАЖНОЕ ПРИМЕЧАНИЕ!
Tcl 8.4 находится вне долгосрочной поддержки.Абсолютно никаких дальнейших изменений к нему не ожидается, , даже если обнаружена катастрофическая ошибка безопасности; , если ваша проблема не устранена в 8.4.20, вам нужно перейти к 8.5 или более поздней версии.Мы не знаем о таких проблемах безопасности, но мы не ищем и не будем их исправлять, если они будут найдены.
Поддержка здесь только на основе «потому что мы чувствуем себя хорошо».Вы не должны создавать новую работу на основе 8.4.
Элемент глобального массива tcl_platform(threaded)
определен и установлен на 1
, когда используемая в настоящее время библиотека Tcl создается споддержка потоков.Это верно, по крайней мере, с Tcl 8.4.Вот как можно надежно получить хорошее логическое значение, которое вы можете проверить:
set isThreaded [expr {
[info exist tcl_platform(threaded)] && $tcl_platform(threaded)
}]
NB: Некоторые платформы практически всегда имеют многопоточность (из-за того, как они работают внутри; это имеет место в случае сWindows и OSX, если я правильно помню).В будущих версиях Tcl (начиная с версии 8.7) по умолчанию будет использоваться многопоточность;это будет единственный поддерживаемый режим сборки начиная с 9.0.Вам все еще понадобится пакет Thread для работы с потоками в вашем скрипте, но в наши дни это стандартное расширение.