_nic
30.10.2009, 22:23
Схема выглядит примерно так
SOCKET s;
for(;;)
{
recv(прием данных);
switch(обработка принятых данных)
{
case A://старт потока 1
case B://старт потока 2
case C://старт потока 3
................
case X:...........................
}
.............
}
В потоки передается сокет из родительского потока,и в них происходит полноценный обменн данными через этот сокет, т.е. как минимум по одному send,recv.Вопрос в том как правильнее это все дело в дочерних потоках синхронизировать с recv в родительском :confused: Что бы данные одного потока не были приняты в другом и recv в мейн потоке не фризил работу с сокетами в дочерних.
SOCKET s;
for(;;)
{
recv(прием данных);
switch(обработка принятых данных)
{
case A://старт потока 1
case B://старт потока 2
case C://старт потока 3
................
case X:...........................
}
.............
}
В потоки передается сокет из родительского потока,и в них происходит полноценный обменн данными через этот сокет, т.е. как минимум по одному send,recv.Вопрос в том как правильнее это все дело в дочерних потоках синхронизировать с recv в родительском :confused: Что бы данные одного потока не были приняты в другом и recv в мейн потоке не фризил работу с сокетами в дочерних.