UI blocked while loading code?
tim at sumeru.stanford.edu
Wed Mar 2 18:52:52 UTC 2005
Tony Garnock-Jones <tonyg at lshift.net> wrote:
> I'm curious about the way the user interface goes single-threaded when
> performing any kind of code-loading activity.
Actually it's pretty much always single threaded; the appearance of
multiple things going on is the morphic stepping cycle.
> It's frustrating sometimes
> to do e.g. an update-from-server, or to start a long package
> installation, and then to not be able to continue my work while the load
> is progressing.
Yes, but. Imagine you're loading code and your work is to be editing
code. What is going to happen if your loading and coding clash? What if
the loading code needs to be done in some atomic manner (perhaps it
affects how the text views you are typing in work) ?
> I note that the system as a whole is still multiprocessing - for
> instance, I happened to have a Transcript open showing me that Cees's
> Tric stuff was still running while code was being loaded - so I imagine
> it's mostly a UI implementation issue. What would it take to make these
> kinds of things behave more asynchronously? Has anyone done any work
> along these lines before?
One could certainly make update loading occur in another thread (easily)
but how would we make it safe? Can't think of a quick answer right now.
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- His future is behind schedule. -- Bob Thaves
More information about the Squeak-dev