Search Mailing List Archives
[protege-discussion] Multi-threading problem (and solution) in Protege-3.2.1 with Jambalaya
mhewett at evincii.com
Fri Jan 26 14:38:06 PST 2007
(FYI, your message from 10:30 this morning was the same
message you sent yesterday afternoon.)
After looking at the Protege code, the problem seems to be that
the Protege event dispatching code is inside the kb modification
synchronized block, when it doesn't actually need to be.
Unforunately the synchronization block is at a very high level in
DefaultKnowledgeBase, so it includes both the modification
operation (which is somewhere inside FrameStore) and the
event dispatching operation. The synchronized block should
really be around the smallest possible piece of code that requires
synchronization. However, I can see that it is likely to require
some extensive refactoring to achieve that.
My program is working fine for now with the changes you
suggested in your last message. Thanks for the help.
More information about the protege-discussion