Доброго времени дня!
Рекомендуемая вами безопасная модель работы с библиотекой мне понятна: в своём коде помещать сообщения от колбэк функции в очередь - в другом потоке их обрабатывать, если в своём коде генерируются команды для библиотеки из разных потоков - использовать ту же логику с потокобезопасной очередью. Но всё же хотелось бы понять риски при использовании альтернативных (более быстрых) путей.
Вопросы:
1) Является ли функция SendCommand потокобезопасной?
2) Из документации:
"В callback функции не должны выполняться операции, которые могут заблокировать поток на длительное время."
Что такое "длительное время" и как его измерить? И каково будет поведение библиотеки при этих "длительных" блокировках?