Is HCACHE Thread Safe ?



Well Known Member
Hello all,

With the release of 9.1.5.X Tools the introduction of jdeCallObjectThreaded has opened multiple posibilities for performance gain.
Does any one know if inserting records in HCACHE within this kind of callobject will cause unpredictable results or will work flaulessly?
This is just a question I do not know if I will use this approach in the future.


I had some of the same questions when I saw the new threading api calls. Not just with JDE cache but with all of the JDE APIs. I would assume they would have to be thread-safe and probably have been for some time. Having said that, it will probably still be the responsibility of the developer to realize what they are doing. For example, if you open a jdeCache cursor and then pass that single cursor handle to multiple threads, depending on what those threads do with the cursor you could get some wildly unpredictable results even if the api calls that use the cursor are thread-safe.
Quick update, i've just processed the same cache using 2 cursors opened in the new threaded api and it works :).
When i get the change I will try the same thing with the JDB API. I will post here any new info.
Good to know. Thanks for posting back with the testing results. I will be curious to see how the JDE threading calls work - have not had a chance to play with them yet myself. I played around with doing my own threading several years back but was always afraid to use it for production code - partially because it would be OS specific. It's great that Oracle is giving us this (OS agnostic) tool - and surprising. I will be curious to see just how robust and flexible it is.