QTcpSocket does not provide any locking itself, that would be wasteful in single threaded usage cases (which is almost always the case).

If I were you I would really avoid accessing the socket from multiple threads.
For example if your threads assemble messages that need to be sent, let them emit the message in a signal and let the thread owning the socket send them.

Cheers,
_