Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.11.2010, 17:54
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию Потоки, изоляция

2 разных потока отправляют данные по интернету через Send (winAPI).
первый поток шлет по одному пакету.
второй поток шлет по два пакета.
Нельзя допускать, чтобы пакет первого потока вклинивался между двумя пакетами второго. Как это лучше всего сделать?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #2  
Старый 26.11.2010, 18:13
mirt steelwater mirt steelwater вне форума
Прохожий
 
Регистрация: 17.10.2010
Сообщения: 35
Репутация: 10
По умолчанию

почему нельзя? уверен, что можно сделать так, чтобы проверять номер пакета, родителя и т.д. по приходу.
Ответить с цитированием
  #3  
Старый 26.11.2010, 20:45
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Не, это не катит.
Я уже сам придумал: поток, шлющий по два пакета, перед отправкой первого ставит Sending:=true, а после отправки второго Sending:=false; а другой поток когда дошел до момента, когда надо слать данные, проверяет флаг и, если надо, спит:
Код:
while Sending do
 sleep(5);
send(...);
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:42.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025