Когда я пытаюсь вызвать процедуру в потоке tcl, я получаю сообщение об ошибке с указанием недопустимого имени команды. Ниже приведен мой код tcl. Пожалуйста, помогите определить, почему процесс не распознается в потоке. Спасибо.
package require Thread
proc CPUload { Start Stop } {
for {set i $Start} {$i <= $Stop} {incr i} {
set j [expr {sqrt($i)*sqrt($i)}]
set k [expr {$i % 123}]
}
}
set id1 [thread::create]
catch {thread::send $id1 "CPUload 1 50000000"} ret
puts $ret
puts $errorInfo
while {[llength [thread::names]] > 1} {
after 500
}
Сообщение об ошибке выглядит следующим образом
invalid command name "CPUload" while executing "CPUload 1 50000000" invoked from within "thread::send $id1 "CPUload 1 50000000""