In [Tcl]-land, we often discourage use of [threads], for reasons documented elsewhere [[explain]]. Here's an example of how to think about design involving threads: Briefly, Tcl applications need threads when they rely on long-running external resources, like database look-up or communications with physical devices [[references]]. Even in the latter case, though, there are a number of alternatives: * [[explain [bgexec] ]] * [[more generally, rely on process interface]] * [[ [fconfigure]-ation of [serial] communications]] [[Use of [dqkit] as a great convenience.]]