Конечно интересно!
ну прежде всего, надо понять, что с точки зрения Астериска, такое задача. Это такая-то операция, которая может выполняться какое-то время. Например, отправка дынных в сокет или получение данных из сокета. Эта задача может выполняться неопределенное время, поэтому ее нужно выполнять параллельно. Для того, чтобы это работало эффективно, создаются отдельные потоки (workers), которые только и занимаются, как обрабатывают такие задачи. Эти потоки объединяются в группу, и называется это threadpool. У тредпула есть своя очередь задач. Когда задача попадает в очередь, свободный поток, тут же эту задачу забирает и начинает выполнение. Предполагается, что потоки успевают обрабатывать задачи быстрее, чем они приходят в очередь. Но на всякий случай, предусмотрено переполнение очереди (это называется water mark). По сути это лимит, после которого, система понимает, что дальше так жить нельзя и это приведет только к коллапсу