|
|
|
Взаимодействие двух потоков
|
|||
|---|---|---|---|
|
#18+
Подскажите каков правильный или один из правильных подходов к решению следующей задачи. Распределенное приложение. Есть сервер, который отвечает на запросы клиента. Клиент запрашивает файл, сервер пересылает заказанный файл. Взаимодействие сервера и клиента планируется сделать через TCP сокеты. Для того, чтобы клиентское окно не подвисало на время передачи данных по сети, я хочу сделать на клиентском приложении второй поток, который будет заниматься работой с сетю. Возник вопрос - как грамотно осуществить взаимодействие между двумя этими потоками. Например, пользователь нажимает кнопку "Запросить файл А". Срабатывает метот первого потока "buttonRequest_Click". Необходимо, чтобы команда "Запросить файл А" попала в цикл второго потока, откуда выполнится запрос серверу. На ум сразу приходит сделать какую-нибудь переменную, доступную из обоих потоков. В эту переменную в первом потоке при необходимости записывать команду, во втором потоке постоянно читать значение команды. Это решение кажется мне корявым. Подскажите что-нибудь по лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2009, 11:32:25 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=128&tid=1344679]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 418ms |

| 0 / 0 |
