None of the command-line shells that I am aware of are multithreaded. In particular, even those shells that support "job control" (Control-Z,
fg, etc) do so via facilities (namely,
exec, signals, pipes and PTYs) that predate Unix threads.
Nor is Emacs multithreaded even though it is able to "do many things at the same time". (Again, it forks and execs external programs a lot and uses signals, pipes and PTYs to communicate with those external programs.)
My question is, Does the dominant implementation of the X11 protocol (X.org) use Unix threads -- in either the server or any of the client libraries?
If so, approximately when did it (or its ancestor, XFree86, or XFree86's ancestor) start doing so?