bug fix for async benchmark

previously, we used a Boolean for our monitor, which the Java runtime
helpfully converts into a global object. this doesn't work properly
as explained here: http://tutorials.jenkov.com/java-concurrency/thread-signaling.html#strings