У меня есть два класса в C ++ (Windows, Visual Studio 2010), каждый из которых работает по отдельному потоку, и я хочу отправлять сообщения между ними простым способом. Идея состоит в том, что main вызывает чтение для class2, ожидает, пока class2 получит данные, а затем main class получает их и продолжает - что-то вроде сокета, но между двумя классами / потоками в одной программе. Можно ли это сделать?
Пример:
class MyClass(){
...
void run(){...}; //runs a thread here that collects data from a network socket
};
int main(){
MyClass *mc = new MyClass();
mc->run();
...
mc->receiveData(); //returns a value AFTER the class gets a hold of it, and blocks in the meantime...
}
Есть ли простой способ сделать это? Вроде как создание сокета и чтение из него, он не вернется, пока не получит пакет / данные из сети, за исключением того, что я хочу, чтобы класс делал это в локальной системе. Спасибо!