On Thu, 14 Mar 2002 16:19, Emile van Bergen wrote: > Or neither, but a design based on pre-spawned childs for all operations > (such as database operations) that take some time to complete. Such as > OpenRADIUS, incidentally written by yours truly. > > I think that's generally a better idea than multi-threading. Having > multiple threads in the same address space always adds complexity, and I > tend to avoid it unless I really can't.
That's a matter of opinion. I'd choose multiple threads over multiple processes any day. The problem with multithreading is that debugging can be a bitch. Core files don't support multi-threading, debuggers have problems with it too, so too often you end up doing printf() debugging. The positive thing about threaded programming is that there's no cost to transferring data between threads. You want to malloc() in one thread and free() in another, no probs. This adds some extra freedoms to the design. Would you like to have one thread for reading data from the net, a pool of threads doing database lookups, then another thread writing responses? It's no challenge to code. Mainly I think it's what you're most experienced with. You obviously have more skills in fork() based programming so I won't try and convince you to change your programming style. But threaded programming can work equally well if you've had some practice. > Of course. Does Radiator really handle all external operations > synchronously? Boy. Yes. Also even without that issue the performance isn't particularly stunning. Threaded programming in Perl is apparently extremely difficult. > > Multithreaded servers such as FreeRADIUS don't have this problem and can > > deliver much greater performance. > > If you're interested, see http://www.openradius.net for another > approach. Are you going to package it for Debian? Also are you planning to attend the Debian meeting in den Haag on Saturday? -- If you send email to me or to a mailing list that I use which has >4 lines of legalistic junk at the end then you are specifically authorizing me to do whatever I wish with the message and all other messages from your domain, by posting the message you agree that your long legalistic sig is void. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

