Some complaints have been raised with the "pauses" to the runtime when a large reloadable file is fetched during the lock operation. Switching to a background thread should resolve this by reducing the contention window to a "swap" under a write lock.
Using a single background thread and having each instance of ReloadableXMLFile "register" with it would be better than spawning a thread per object. Each object could register a callback that would be responsible for the work that's currently in the load method.
Abandoned a single background thread due to concerns about object deletion, so each class instance spawns its own thread.
Compatible with existing plugins, but reloading occurs under a write lock, which leaves performance degraded in most cases. Upgraded plugins override a different method and manage their own locking during reloads to reduce contention window to a pointer swap.
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Some complaints have been raised with the "pauses" to the runtime when a large reloadable file is fetched during the lock operation. Switching to a background thread should resolve this by reducing the contention window to a "swap" under a write lock.
Using a single background thread and having each instance of ReloadableXMLFile "register" with it would be better than spawning a thread per object. Each object could register a callback that would be responsible for the work that's currently in the load method.