use concurrentLinkedQueue to offer & poll socket request, which makes Worker class easier to understand