Sockets can be used in blocking (synchronous) and non-blocking (asynchronous) fashion. Non-blocking use of sockets does not require threads because it relies on signals and event loops.
There are two samples available:
Blocking sockets
http://doc.trolltech.com/4.4/network...uneclient.html
Look at fortunethread.cpp
Non-blocking sockets
http://doc.trolltech.com/4.4/network-fortuneclient.html
Look at client.cpp
This document gives more background on these two usages of sockets: http://doc.trolltech.com/4.4/qtnetwo...and-qtcpserver
And this document provides some information on using event loops within threads: http://doc.trolltech.com/4.4/threads...ead-event-loop
It is hard to be more specific without knowing what MyThread::run() looks like.