2016-11-16 2 views

ответ

1

В общем случае ответ нет, если вы не используете привязки к libmysqlclient (или аналогичный), который предоставляет такие синхронные интерфейсы.

Вы хотите избежать таких синхронных интерфейсов, потому что они по существу не позволят вам делать что-нибудь еще во время выполнения синхронной функции. Например, если у вас запущен сервер, это означает, что вы не можете обслуживать других клиентов. Все они должны, по крайней мере, дождаться завершения вашей синхронной функции.

Существует множество способов обработки асинхронных задач, включая «ручные» обратные вызовы (очевидно), вспомогательные библиотеки на основе обратного вызова, такие как async, обещания, генераторы, async/await и т. Д. Некоторые из них даже создают иллюзию синхронного API, фактически не являясь синхронным.

Смежные вопросы