[Live-devel] Design choice

Jeremiah Morrill Jeremiah.Morrill at econnect.tv
Fri Jul 27 16:53:10 PDT 2012


I went with a 1 thread per rtsp client and regret it from a scaling perspective.  The stack mem needed plus the overhead of having a thread gets to be too much when you get into a large amounts of streams. 

The library is _very_ well written to be non blocking and given the speed of your slowest server CPU, you won't see any bottle necks with a single CPU. 

If I could do it all over again I'd code it to use n-clients per thread. 

Just NEVER write any blocking code on that thread.  If you do need to delay a long running operation, simply re-enter the live555 message loop and set the watch var when done. 



Sent from my iPhone

On Jul 27, 2012, at 4:27 PM, "Warren Young" <warren at etr-usa.com> wrote:

> On 7/27/2012 5:07 PM, Ross Finlayson wrote:
>> 
>> I'm
>> puzzled by why so many programmers these days seem afraid (or unaware)
>> to do this.
> 
> I think it's a legacy of 1990s Windows and Mac OS: poor IPC, poor process management, etc.  But they had threads, which avoids the need for either.
> 
> Now we've got a generation of programmers who didn't face the opposite problem: bad or missing thread implementations, but excellent IPC and process management, which encourages cooperative multi-process agglomerations.
> 
> Tim, I recommend you read any book by W. Richard Stevens, and this: http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf
> 
> tl;dr on the latter: threads are mathematically proven to be evil.
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
> 




More information about the live-devel mailing list