On Fri, Apr 2, 2010 at 1:10 AM, Ross Finlayson <span dir="ltr"><<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I personally find your disdain for threads antiquated and naive<br>
</blockquote>
<br></div>
This shows a lack of understanding. It's like saying that the designers of a bullet train have a "disdain" for air transportation, or conversely that the designers of an aircraft have a "disdain" for rail transport. On the contrary. We are talking about two completely different computation models, each with their pros and cons.<br>
<br>
I have been programming with threads since the mid 1980s - but for the LIVE555 libraries, I chose a single-threaded event-driven model instead. This works well for the type of applications that these libraries are typically used for, especially given that lots of inexperienced programmers (far more than I had originally anticipated, actually) are using the software.<br>
<br>
If anyone is interested in this topic, I encourage them to view Professor John Ousterhout's slide presentation: <a href="http://www.softpanorama.org/People/Ousterhout/Threads/tsld001.htm" target="_blank">http://www.softpanorama.org/People/Ousterhout/Threads/tsld001.htm</a> (Personally, I wouldn't state the conclusion quite as strongly as he does, but - as a very experienced threads programmer myself - I agree with the general argument.)</blockquote>
<div><br>I'd buy this. But I think the library itself must run the way the FAQ mentions; otherwise, it is seriously problematic to use in any realistic manner. It just makes sense to run one RTSPServer or RTSPClient per-thread with its own event loop. The truth of the matter is: the rest of the world uses threads, and I can count the number of projects I participate in that use an eventing model on one hand (on one finger, actually), and almost every media API I use besides this one makes heavy use of threads. Love threads or hate them, it is often tricky to reconcile this disparity. <br>
<br>That said, I actually prefer the Live555 model for threading because it makes sense always to have a dedicated thread servicing the network. (doing work on your network thread, besides servicing the network, is a bad idea) But if I had to put multiple clients on a single thread...I'd basically be screwed. That doesn't mesh well with any decent media framework I can think of.<br>
<br></div></div><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Possibly, but remember that the "OP" used a "@<a href="http://gmail.com/" target="_blank">gmail.com</a>" address, which tags him as a noob
(absence strong evidence to the contrary :-). Unfortunately, I've found
that such people frequently do not read the FAQ.<br></blockquote><div><br>Yeah....we're probably not going to agree on that one.<br></div>