Я смущен различием между отправкой элементов через Post() или SendAsync(). Я понимаю, что во всех случаях, когда элемент достиг входного буфера блока данных, управление возвращается в вызывающий контекст, правильно? Тогда зачем мне понадобиться SendAsync? Если мое предположение неверно, я задаюсь вопросом, наоборот, почему кто-либо когда-либо использовал Post(), если вся идея использования блоков данных заключается в создании параллельной и асинхронной среды.
Я понимаю, конечно, что технически разница в том, что Post() возвращает bool, тогда как SendAsync возвращает ожидаемую задачу bool. Но какие последствия имеет это? Когда будет возвращен bool (который, как я понимаю, является подтверждением того, был ли элемент помещен в очередь блока данных или нет)? Я понимаю общую идею рамки async/await concurrency, но здесь она не имеет большого смысла, потому что иначе, чем bool, результаты того, что делается для переданного элемента, никогда не возвращаются вызывающему, а вместо этого помещаются в "out-queue" и либо пересылаются на связанные блоки данных, либо отбрасываются.
И есть ли разница в производительности между этими двумя методами при отправке элементов?