Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > socket and threads


Автор: __nazar__ 16.2.2008, 19:36
Здраствуйте,
У меня возникла вот такая проблема:
Нужно ли самому производить синхронизацию потоков при доступе к сокету.
Приложение (ОС Linux) создайот сокет. В приложении работають несколько потоков которые записывают в сокет даные. Нужно ли их взаимно блокировать при доступе к сокету. smile 

Автор: Fin 16.2.2008, 21:00
Да нужно. Для доступа ко всем ограниченным ресурсам нужно делать блокировку. Только вопрос, а зачем сразу несколько потоков работают с одним сокетом?

Автор: __nazar__ 16.2.2008, 21:11
Дело в том что один поток записывает даные в сокет только тогда когда поступет сигнал с другого канала, а второй поток проверяет работоспособность сокета, он посылает внеполосовие дание. Может возникнуть вопрос почему первый поток не осуществляут проверку? Ето не делаетса потому что вся система доступа к сети создана ввиде класа и "первым" потоком является програма (клиент класа), а вторим метод класа.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)