use non-blocking send to signal task processing loop
Can adjust number of workers