Use PriorityBlockingQueue for thread pool to preserve some order among execution of different processor and notify entrance processor (now only PrequentialSourceProcessor) when thread queue size is large