Я ищу простой способ создания потока связи между потоками, используя семантику <iostream>
. Я искал что-то вроде следующего:
#include <iostream>
#include <thread>
void thread1(std::istream from_main, std::ostream to_main) {
std::string s;
from_main >> s;
to_main << "Received:" << s << std::endl;
}
int main() {
std::istream from_thread;
std::ostream to_thread;
std::thread t(thread1, to_thread, from_thread);
to_thread << "Hi-Thread\n";
std::string s;
from_thread >> s; // Received:Hi-Thread
t.join();
}
Есть ли простой способ достичь этого без использования pipe
, создания файловых дескрипторов и заполнения кода системными вызовами?