test fairness. for now, it relies on java synchronized block.