Trace status and auto remove dead executor, and auto start new executor thread if all exists executor is working or too high backlogs.
unlike smolscale, there is no per-executor queues for queuing Runnable, asyncute only have single global MPMC queue (and all executors receives Runnable from it), so Executor no need to push Runnable back to global queue on droppped.
unlike other library that uses work-stealing queue, asyncute uses bounded channel for get notify if Runnable available, and if channel is full, spawn() will blocking instead of discarding.
analysis and profile. it can easy to get the executor’s status (idle, working, running, work loads, etc.), and start/stop profile in runtime to see average Runnable took how many time to run, current alive Runnables, count of ready/pending polls, etc.
spawn new executor manually, wake monnitor manually, and start monitor manually.