I found the following quotation from another answer (Performance difference for multi-thread and multi-process):
Next, you can have CPUs with "hyperthreading", which can run (at least) two threads on a core very rapidly -- but, not processes (since the "hyperthreaded" threads cannot be using distinct address spaces) -- yet another case in which threads can win performance-wise.
Is this accurate? The two threads of a virtual core (hyperthreading) cannot be running different OS processes?
On a hyperthreaded machine, if I have a program architecture that uses "worker" processes that a "supervisor" process communicates with using sockets, would I be likely to see a performance increase by moving those worker processes into the supervisor process as threads (leaving the sockets and everything else the same)?