What are Sockets and Threads?