> -----Original Message----- > From: Tom Lane [mailto:[EMAIL PROTECTED] > Sent: Friday, September 26, 2003 9:27 AM > To: Bruce Momjian > Cc: Shridhar Daithankar; [EMAIL PROTECTED]; > [EMAIL PROTECTED] > Subject: Re: [HACKERS] Threads vs Processes > > > Bruce Momjian <[EMAIL PROTECTED]> writes: > > One solution is for me to continue with this in the Win32 > CVS version > > until I have fork/exec() working on Unix, then test on > Win32. I think > > that could be done in a few weeks, if not less. > > > Another solution, already mentioned, is to use threads and > TLS. This > > is what SRA's code uses. I know SRA wants to contribute that code > > back to the community, so I can ask them to see if they are > ready to > > release it. > > If you are willing to expend the effort, I think it would be > worth the time to pursue both approaches. We don't yet have > enough info to decide which one will be cleaner, so we need > to push forward on both until we can make a realistic comparison.
I think the ideal situation would be a server that both threads and forks. Sometimes, we want the server to take on a new personality (with the rights of the attaching user). In such a case, threading is not a sufficient answer. Also, a forked process is a bit safer (though you can put a try/catch around threads). For performance with multiple queries from a single user, threads are going to be faster than forking. I think that the best model will be a server that does both. I know that there is some aversion to using C++, but the ACE framework offers a consistent threading model that works for just about every computer under the sun. http://www.cs.wustl.edu/~schmidt/ACE.html The license is basically BSD (it is called ACE, but it works exactly like a BSD license). With ACE, you program to a single API, and the code works the same on every platform with a simple recompile. It might even be worthwhile to use the ACE higher level components to create a server that supports multiple models of connection and threading. ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly