On Mar 11, 2019, at 06:38, dingd ntysdd@qq.com wrote:
this is recommended in the manual, it contains a race condition.
Interpreter interpreter = Interpreter.getInstance (); if ( interpreter == null ) { interpreter = Interpreter.createInstance (); }
getInstance and createInstance should be swapped.
Since both Interpreter.getInstance() and Interpreter.createInstance() are methods synchronized on the same object monitor, I don’t see that there is a race condition here. Could you explain a little more about your reasoning and/or experience with the race condition?