Tcl Тема: Как получить доступ к глобальным переменным в потоке

У меня есть процесс с именем "startMyProc {num}". Я хочу, чтобы этот процесс вызывался двумя разными потоками, и я ожидаю завершения обоих потоков. Я пробовал решение, которое работает. Я хочу получить доступ к глобальным переменным в startMyProc и вызвать другой процесс "startMyAnotherProc {num}". Как это может быть сделано?

package require Thread


global myVar

set myVar false

set id1 [thread::create -joinable {
    source sample.tcl
    thread::wait
    }]
set id2 [thread::create -joinable {
    source sample.tcl
    thread::wait
    }]

set num 1
thread::send -async $id1 [list startMyProc $num]
set num 2
thread::send -async $id2 [list startMyProc $num]

thread::join $id1
thread::join $id2

My sample.tcl looks like this,

proc startMyProc { num } {
    global myVar
    puts $myVar
    puts "Opening $num"
    after 2000
    puts "Opening $num"
    after 2000
    puts "Opening $num"
    after 2000
    startMyAnotherProc $myVar
    return
}

proc startMyAnotherProc { num } {
    puts "Opening Another Proc: $num"
    after 2000
    puts "Opening Another Proc: $num"
    after 2000
    return
}

Ответы на вопрос(1)

Ваш ответ на вопрос