Или, что эквивалентно, как бы вы разработали такой API. Предполагаемое / примерное использование также будет иллюстративным.
Мое любопытство исходит непосредственно из комментариев (и последующего редактирования с моей стороны) этого ответа . Подобные вопросы / дискуссии в прошлом давали немного вдохновения для того, чтобы на самом деле их задавать.
Резюме:
Я не чувствую, что многопоточный интерфейс API возможен осмысленным образом и не особенно желателен. Эта точка зрения представляется несколько спорным и быть (относительно) скромный человек, которого я хотел бы видеть ошибки моего пути, если они на самом деле являются ошибочными.
* Многопоточность определена довольно свободно в этом контексте, однако ** это имеет смысл для вас.
Поскольку это довольно свободная форма, я буду принимать любой ответ, который, на мой взгляд, имеет наиболее последовательный и хорошо поддерживаемый ответ; независимо от того, согласен ли я с этим.
Ответ принят
** Хорошо, возможно, необходимы дополнительные разъяснения.
Практически каждое серьезное приложение имеет более одного потока. По крайней мере, они раскрутят дополнительный поток для выполнения некоторой фоновой задачи в ответе на событие пользовательского интерфейса.
Я не считаю это многопоточным пользовательским интерфейсом.
Вся работа с пользовательским интерфейсом выполняется на одном потоке. Я бы сказал, что на базовом уровне многопоточный API пользовательского интерфейса должен был бы покончить с (каким-то образом) владением потоками объектов UI или отправкой событий в один поток.
Помните, это касается самого API пользовательского интерфейса; не приложения, которые его используют.