SynchronousQueue has better performance than LinkedBlockingQueue

redo of #330 - accidentally merged.

@gdusbabek rebased