Раз уж вы используете нечестную очередь, можно было обойтись synchronized.