threading

Sturla Molden sturla.molden at gmail.com
Mon Apr 7 22:06:19 EDT 2014


Dennis Lee Bieber <wlfraed at ix.netcom.com> wrote:
 
> 	That's been my experience too... Threading works for me... My attempts
> at so called asyncio (whatever language) have always led to my having to
> worry about losing data if some handler takes too long to return.
> 
> 	To me, asyncio is closer to a polling interrupt handler, and I still
> need a thread to handle the main processing.

On a 32 bit system, the virtual address space with limit the scalabiliy for
multi-threading in parallel i/o. That is, the stack space for each thread
can quickly become a problem.

Memory is not a problem on 64-bit servers. Multithreading can be used to
solve the C10K problem, contrary to common belief. Before you dissmiss
threads, take a look at this:

http://www.mailinator.com/tymaPaulMultithreaded.pdf
http://stackoverflow.com/questions/17593699/tcp-ip-solving-the-c10k-with-the-thread-per-client-approach

My personal feeling is that asynchronous i/o is mostly useful on 32-bit
systems, and the problem it actually solves is the limited virtual address
space. On a 64 bit system we can just throw more RAM at it and threads be
fine.


Sturla




More information about the Python-list mailing list