|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.06.2007, 22:06 | #1 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
как работать с параллельными потокакми в Winapi?
Пожалуйста обьясните как создать и работать с потоками при помощи функций Winapi или ссылку хотябы кинте, а то в инете нигде пример не нашёл.
P.s. Нашёл тока ф-ию CreateThread и то незнаю как с ней работать ( . |
26.06.2007, 12:19 | #2 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
Пример создания четырех потоков с синхронизацией через семафор
Код:
|
26.06.2007, 19:45 | #3 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
Спасибо Rouse_ буду разбираться .
|
26.06.2007, 21:13 | #4 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
... разобрал я пример и у меня возникло несколько банальных вопросов:
1) Используется ли в примере модуль gssocket ,если да то почему.(я так понял что это интернет сокеты да причём ещё не являются стандартными). 2)Правильно ли я понял что в этом примере потоки используют процедуру ThreadProc?(вопрос конечно ламерский,но я так для уточнения ). 3)У меня при завершении потока происходит ошибка.Это так и должно быть? 4)Потоку передаётся параметр с его номером? 4-ой переменной ф-ии CreateThread (pointer) ? 5)Синхронность потоков заключаеся в WaitForSingleObject(hSemaphore, 100000) ?Значит поток ожидает сообщение от симафора ...А тип сообщения симафора заключается в ReleaseSemaphore или в самом хэндле hSemaphore? И последнее : как можно релизовать передачу значения переменной дополнительного потока из главного. Стандартными средствами это будет примерно выглядеть так : Thread:=TThread.Create(true); Thread.Str :=S; Thread.resume; ну тоесть желательно передать переменной значение перед его запуском. Ну вот вроде всё ...пока всё . |
27.06.2007, 09:12 | #5 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
1. gssocket - это я в параллель на другой вопрос отвечал, в эьтом модуле данный юнит лишний
2. да 3. какого плана ошибка? 4. да 5. да, по поводу типов поштудируй MSDN 6. через четвертый параметр функции |
27.06.2007, 21:06 | #6 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
3)Ошибка WAIT_FAILED (описаная в CASE )
|
27.06.2007, 21:38 | #7 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
И ещё один вопрос: объязательно присваивать каждый поток в отдельный хэндл или это только чтобы можно было узнать результат создания потока?
|
27.06.2007, 22:32 | #8 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
Всё разобрался сам. Спасибо за помощь .
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinApi и C++ | titan-prog | Win Api | 1 | 17.07.2008 21:02 |
WinApi | Necrom | Помощь студентам | 3 | 27.06.2008 14:24 |
WinApi | Andr | Безопасность, Шифрование | 3 | 17.06.2007 13:38 |
WinAPI функции | AidarBik | Win Api | 3 | 16.06.2007 17:03 |