G
Gonçalo Rodrigues
Hi,
My setup is the following: I have socket s from which I want to read
and write. So I made the following set up:
There is a thread whose only job is to read. Any data read (from recv
call) is just passed to (some) Queue. This thread is "owned" by a
second thread waiting on a Queue for write requests. The thread just
pops these from the Queue, and calls the send method from the socket.
This thread also takes care of closing the socket or (possibly)
handling any exceptions raised due to socket operation.
So my question is: since I have two threads sharing the same socket,
even though one is only reading and the other does everything else, do
I have to watch out for any "concurrency" issues?
P.S: This is for learning experience. So it's of no use telling me
that I should learn Twisted I may (eventually) get there, but at
the moment I feel more omfortable with working with plain blocking
sockets.
With my best regards,
G. Rodrigues
My setup is the following: I have socket s from which I want to read
and write. So I made the following set up:
There is a thread whose only job is to read. Any data read (from recv
call) is just passed to (some) Queue. This thread is "owned" by a
second thread waiting on a Queue for write requests. The thread just
pops these from the Queue, and calls the send method from the socket.
This thread also takes care of closing the socket or (possibly)
handling any exceptions raised due to socket operation.
So my question is: since I have two threads sharing the same socket,
even though one is only reading and the other does everything else, do
I have to watch out for any "concurrency" issues?
P.S: This is for learning experience. So it's of no use telling me
that I should learn Twisted I may (eventually) get there, but at
the moment I feel more omfortable with working with plain blocking
sockets.
With my best regards,
G. Rodrigues