Сетевая библиотека, которую я пишу, должна отправлять и получать сообщения через TCP-сокет.Сообщения могут быть отправлены или получены в любое время, т. Е. Должны работать как полнодуплексный канал.
Мне удалось реализовать такой сценарий, используя два потока: основной поток, вызывающий send (), и выделенный поток, в основном заблокированный в recv () call.
Мой вопрос: возможно ли реализовать один и тот же сценарий с помощью одного потока?Т.е. путем регистрации некоторой функции обратного вызова?
В качестве примечания: мне нужно реализовать этот сценарий на C ++, Java и Python.