Re: oaf async activation



> >     Have you thought about the possibility to use threads on the
> > client side to de-couple time consuming operations from the UI event
> > loop? This will let the API clear and lean and the client will be
> > forced to think about things like locking and synchronization. A bit
> > more work to do on the client application, but it will keep the chance
> > to solve all problems, just like the asynchronous approach.
> 
> Long-term, Nautilus will use threads throughought to resolve these
> kinds of issues (although of course it's tricky when dealing with
> non-thread-safe libs like ORBit, or "one thread at a time" libs like
> Gtk+). We plan to start moving away from the async architecture post
> 1.0.

Sorry for jumping into this discussion late.  If you do plan on doing
clienit-side threading then I would really suggest that a seperate library
be made to do this.  It would be a lot easier for application programmers
to use a standard method thread synchronization than to roll their own for
each individual app.

> But beyond what Nautilus and Evolution use, though, there is a bigger,
> GNOME-wide architectural question to ask here: are we going to support
> threaded architecture, async architecture, or both, with the GNOME
> development platform.?

So lets turn around the question.  Why can't we have GNOME-wide threading
support?  Whats the problem?

> bit. However, many in the GNOME community still have concerns about
> the portability of threads and their accessibility to the average
> developer.

Well there are two ways to deal with portability of threads.  Either you
make it a requirement to use pthreads library and then make it an option
to use threading using that library only.  I lied about the 2nd
one.  There isn't one. :-)  Seriously, you could create a compatibility
layer that addresses all unixes.  This is a severe pain in the ass.  

> Perhaps we should start a conversation on this topic on gnome-hackers.

I dunno..are gnome hackers the only people interested in this convo?

	sri





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]