Be sure to use the threading interface module and not the thread implementation module. The threading module builds convenient abstractions on top of the low-level primitives provided by the thread module.
Aahz has a set of slides from his threading tutorial that are helpful; see: