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: * [[first]] * [[second]]