Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-incubator-e4-dev] Initial discussion onthe'modelled'workbench UI

One gotcha with asynchronous processing of notifications is that during the
notification's processing, the model may no longer be in the state it was
in at the time the notification was sent.  It's also clear that it can be
problematic for the model to be changing on one thread, while the UI is
reading it for display/view purposes on a different thread.  So
asynchronous processing introduces new problems as well as solving old
problems.  The issue of reading a model that might be subject to
simultaneous change on a different thread seems to require the use of some
type of locking or exclusion mechanism which naturally reintroduces the
very same deadlock problem that asynchronous processing was intended to
help solve in the first place.


Ed Merks/Toronto/IBM@IBMCA
mailto: merks@xxxxxxxxxx
905-413-3265  (t/l 313)




                                                                           
             John                                                          
             Arthorne/Ottawa/I                                             
             BM@IBMCA                                                   To 
             Sent by:                  E4 developer list                   
             eclipse-incubator         <eclipse-incubator-e4-dev@eclipse.o 
             -e4-dev-bounces@e         rg>                                 
             clipse.org                                                 cc 
                                                                           
                                                                   Subject 
             04/07/2008 07:48          Re: [eclipse-incubator-e4-dev]      
             AM                        Initial      discussion             
                                       onthe'modelled'workbench       UI   
                                                                           
             Please respond to                                             
             E4 developer list                                             
             <eclipse-incubato                                             
             r-e4-dev@eclipse.                                             
                   org>                                                    
                                                                           
                                                                           





It would be a radical change, but you may want to consider making all
events asynchronous. This would have solved many problems in our old API,
but was never doable in a backwards compatible way.  Asynchronous event
notification to clients offers lots of advantages - reduced deadlock,
increased responsiveness, etc. If the UI model can be manipulated in any
thread, then you may be able to keep client code out of the UI thread
entirely!

John

eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx wrote on 04/07/2008 06:02:37
AM:

> Hi all,
>
> one more thing I think we need to discuss is whether we really want to
> allow any arbitary plugin register as a listener on our model.
>
> This has the drawback that if one missbehaving listener is added to our
> model everybody is blocked! In a Plugin-Env where we don't control them
> this a dangerous thing, not?
>
> Wouldn't it be wiser to decouple this using a Message-Bus-Pattern? What
> do you think?_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev




Back to the top