<div>Agreed. While the gethash and puthash should independently work, the combination of the two isn't thread safe. For example two processes could get the value in the ht before either has a chance to write back the increment. </div>
<div><br></div>
<div>However, since the combination of the two is a common pattern, it would certainly be useful to have an easy to use function that guaranteed the  whole update was synchronized. </div>
<div><br></div>
<div>In any case, that is why I chose to use the keys. Each key for a result is unique so there shouldn't be any contention over key/value pair. </div>
<div><br></div>
<div>I'm going to so some more tests to see  whether the problem is generic or related to the regex call. </div>
<div><br></div>
<div>I think all the variables I use in the processing lambda are thread local but I will have another look there. Um, just as a sanity check, allocation of space for the closures are thread safe, right?</div>
<div><br></div>
<div><div>-Alan</div></div>
<div class="mailbox_signature">-Alan<br><br>http://alan.ruttenbergs.com/<br></div>
<br><br><div class="gmail_quote"><p>On Fri, Sep 27, 2013 at 8:27 AM, Mark Evenson <span dir="ltr"><<a href="mailto:evenson@panix.com" target="_blank">evenson@panix.com</a>></span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><p>Eh.  Upon reflection, not entirely sure that the increments are happening CV correctly. I will try to move the test to counting the total entries in the hash table, rather than only accessing one key. This should be closer to Alan's original problem.</p></blockquote></div><br>