From: Slava P. <sl...@je...> - 2003-10-26 20:34:20
|
The reason is that any runnables queued by VFSManager.runInAWTThread() are not run until all work threads are idle. When loading a file, one request is run in a work thread for doing the actual I/O, but all the events and EditBus messages can only be sent in the AWT thread, hence the perceived delay. For this reason the SideKick plugin doesn't use jEdit's work thread pool either, it creates its own. In jEdit 4.3 I will improve the work thread code so that this is not necessary. On Sun, 2003-10-26 at 15:14, Marcelo Vanzin wrote: > Hey Slava, > > I noticed something when loading large projects during start up in > ProjectViewer. I'm using a jEdit IO thread to do the loading, and it > seems that no buffers are loaded until the PV IO request is finished. > > You can reproduce that by having a project with many files, specially > over a network file system. If you have jEdit set up to load the buffers > from the previous session, and the PV dockable is opened at start up, > the buffers will not load until after the project is loaded. > > Am I doing something wrong here? I thought the idea of having IO > threads was to work around this kind of situation... > > The code I use to add a work request to the thread pool is: > VFSManager.getIOThreadPool().addWorkRequest(this, false); > > (In class "ProjectLoader" in "ProjectViewer.java".) > > -- > Marcelo Vanzin > mar...@po... > "Life is too short to drink cheap beer" > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The SF.net Donation Program. > Do you like what SourceForge.net is doing for the Open > Source Community? Make a contribution, and help us add new > features and functionality. Click here: http://sourceforge.net/donate/ -- Slava Pestov |