On Aug 7, 2008, at 5:37 PM, Hasan Khan wrote:
All these things lead me to believe that writes to the "s_methods"
variable are not guaranteed to be visible to other threads and,
likewise, a thread reading the "s_methods" variable is not
guaranteed to
see updates made by other threads.
We don't do a lot of local synchronization because there are a few
more global-level locks that control
most access by multiple threads. Like any other software, though, bugs
do come to light and are fixed in later versions. For
example, in Jess 7.1 (the current version of Jess), the variable
s_methods now holds a synchronized map rather
than a bare HashMap as in 7.0 , and getMethods() locks the map with a
synchronized block.
I am wondering how much emphasis has been placed on concurrency and
visibility issues by the Jess coders? Is there exposure here?
Quite a bit; Jess is very often used in multithreaded server
environments and we're certainly aware of that.
The first thing I would try to address your problem would be to
upgrade to the currently-supported version of Jess.
---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences, Sandia National Laboratories
PO Box 969, MS 9012, Livermore, CA 94550
http://www.jessrules.com
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------