|
|
|
Про потоки...
|
|||
|---|---|---|---|
|
#18+
А как мне сделать так: Пусть пользователь щелкает по какому-либо элементу дерева (CTreeView), запускается поток который что-либо добавляет в список (CListBox). Если пользователь щелкнул по другому элементу файлового дерева и предыдущий поток ещё не завершился то ему(предыдущему) нужно послать сигнал о том что пора завершатся, и ждать пока посланный сигнал не обработается и не придет сигнал о том что поток действительно завершился. Я хотел решить эту задачу таким способом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 09:44 |
|
||
|
Про потоки...
|
|||
|---|---|---|---|
|
#18+
WaitForSingleObject на вход принимает элементы предназначенные для синхронизации: семафоры(semaphore) мутехи(mutex) и прочие... Как ими пользоваться, надо тебе почитать в msdn Общий смысл такой: семафор это такая фигня со счётчиком состояний, если счётчик не 0, то WaitForSingleObject на нём будет стоять пока он не обнулится или таймаут не пройдёт. Это полезно, когда надо ждать нескольких, которые релизят семафор. К примеру, работают три потока, четвёртый ставить счётчик:3 и ждёт, пока каждый из трёх прорелизит. Мутехи проще. Мутех эта такая фигня, обладать которой в данных момент может тока один поток. Это как туалет, кто первый добежал, тот закрылся и пока он оттуда не выйдет, другой будет стоять под дверью:WaitForSingleObject. Причём именованый мутех - один на всю машину (один туалет на всю многоэтажку) и второй такой в рамках одной машины не создать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:41 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=422&tid=2033982]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 366ms |

| 0 / 0 |
