Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > socket and threads |
Автор: __nazar__ 16.2.2008, 19:36 |
Здраствуйте, У меня возникла вот такая проблема: Нужно ли самому производить синхронизацию потоков при доступе к сокету. Приложение (ОС Linux) создайот сокет. В приложении работають несколько потоков которые записывают в сокет даные. Нужно ли их взаимно блокировать при доступе к сокету. ![]() |
Автор: Fin 16.2.2008, 21:00 |
Да нужно. Для доступа ко всем ограниченным ресурсам нужно делать блокировку. Только вопрос, а зачем сразу несколько потоков работают с одним сокетом? |
Автор: __nazar__ 16.2.2008, 21:11 |
Дело в том что один поток записывает даные в сокет только тогда когда поступет сигнал с другого канала, а второй поток проверяет работоспособность сокета, он посылает внеполосовие дание. Может возникнуть вопрос почему первый поток не осуществляут проверку? Ето не делаетса потому что вся система доступа к сети создана ввиде класа и "первым" потоком является програма (клиент класа), а вторим метод класа. |