On Mon, Feb 4, 2013 at 3:28 PM, Jonathan Fischer Friberg odyssomay@gmail.com wrote:
Hi,
It seems that abcl is currently running on the awt thread. As when I get an error, it says something along the lines
"#<THREAD "AWT-EventQueue-0" {3C6B5}>"
This has some nasty side effects, namely:
- eval blocks the ui (until the eval has finished)
- On error, the version 1.1.0 locks down the ui completely. That is, the ui
locks and doesn't come back.
So it would be nice if I could run abcl on it's own separate thread. Is such a thing possible?
I guess in worst case I'll have to start up a separate thread in the eval (that is, in common lisp), which I think would do what I want. I would prefer to have the whole of abcl in its' own thread though.
Actually, ABCL runs in the caller thread, so you should not make potentially long or blocking calls to it on the AWT thread (e.g. in event listeners). You should use SwingWorker if you're using Swing (see http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html) or the ExecutorService or other similar tools.
Alessio