- From: Olga Antropova <olga@eai.com>
- Date: Tue, 27 Mar 2001 10:37:30 -0600
- To: "Anton Belov -- Customer Engineering" <antonb@scot.canada.sun.com>, <www-lib@w3.org>
Yes, I have simulated multithread-safe libwww having mutexes around the top level lib accesses in a little lib wrapper. That is simpler and achives (close to) the same behavior. Olga. ----- Original Message ----- From: "Anton Belov -- Customer Engineering" <antonb@scot.canada.sun.com> To: <www-lib@w3.org> Sent: Tuesday, March 27, 2001 10:07 AM Subject: Re: libwww multithreading once more... > We have simulated the multithread-safe behaviour, by having only one thread > sitting in the event loop, and others coming in and notifying it (through domain > socket) that they want to send a request. The event-loop thread would go and > pick up the request details and send it out, in a mean while the requester > thread will sleep (on condition variable) until it's notified by the event-loop > thread that it finished processing the request. > > This way the access to the library is always within the same one thread, on the > other hand an application that uses it thinks that it's doing mutlithreaded > access. Of course, performance-wise it makes absolutely no difference, since the > access is serialized. > > Cheers, > Anton > > > >Resent-Date: Tue, 27 Mar 2001 10:39:47 -0500 (EST) > >Resent-Message-Id: <200103271539.KAA04774@www19.w3.org> > >X-Authentication-Warning: balefire.eai.com: uucp set sender to <olga@eai.com> > using -f > >Really-From: olga@eai.com > >From: "Olga Antropova" <olga@eai.com> > >To: "Roland Bickel" <r.bickel@cmg.nl>, <www-lib@w3.org> > >Date: Tue, 27 Mar 2001 09:40:01 -0600 > >MIME-Version: 1.0 > >Content-Transfer-Encoding: 7bit > >X-Priority: 3 > >X-MSMail-Priority: Normal > >X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 > >Subject: Re: libwww multithreading once more... > >Resent-From: www-lib@w3.org > >X-Mailing-List: <www-lib@w3.org> archive/latest/4813 > >X-Loop: www-lib@w3.org > >Resent-Sender: www-lib-request@w3.org > >List-Id: <www-lib.w3.org> > >List-Help: <http://www.w3.org/Mail/> > >List-Unsubscribe: <mailto:www-lib-request@w3.org?subject=unsubscribe> > > > >Hi, > > > >In general there are two ways to do multiple requests processing at the same > >time: > > > >1) blocking system calls and threads > >2) non-blocking system calls and a sophisticated state machine > > > >On the single processor computer the performance of this two approaches > >should be about the same. > > > >libwww implements the second way of mutiprocessing. That is a more complex > >of the two approaches. > >Laying threads on top of this approach is way too complex if not impossible. > > > >I personally think that libwww is impossible to make thread safe. There are > >too many global structures. > > > >Olga. > > > >----- Original Message ----- > >From: "Roland Bickel" <r.bickel@cmg.nl> > >To: <www-lib@w3.org> > >Sent: Tuesday, March 27, 2001 9:21 AM > >Subject: libwww multithreading once more... > > > > > >> > >> Right, i've spent a lot of time trying to figure out how the following > >could > >> be implemented in a asynchronous way.. I hope some of you guys/girls can > >be > >> of help... i cannot imagine i'm the only one ever stumbling across this > >> problem ... > >> > >> here goes : > >> i want to be able to do multiple, simultaneous http PUT messages, > >> preferrably without a fork construct. So suppose i have one thread walking > >> through the even loop waiting for responses to a previous issued PUT , if > >> another process tries to send another PUT message *how* can I update the > >> eventloop ? prefer some .c examples.. > >> > >> Thanks in advance, > >> Roland > >> > >> btw.. isn't there some FAQ ? i think this would make a nice topic... > >> > >> > > > > ~v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^vv^v^v^v^v^v^v^v^v^v^v^~ > > Anton Belov > Sun Microsystems Americas Customer Engineering > anton.belov@canada.sun.com > Ph. (905)415-2841 Fax. (905)477-0217 > >
Received on Tuesday, 27 March 2001 11:36:12 UTC