![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
![]()
Пожалуйста обьясните как создать и работать с потоками при помощи функций Winapi или ссылку хотябы кинте, а то в инете нигде пример не нашёл.
P.s. Нашёл тока ф-ию CreateThread и то незнаю как с ней работать ( . |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
![]()
Пример создания четырех потоков с синхронизацией через семафор
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
![]()
Спасибо Rouse_ буду разбираться
![]() |
![]() |
![]() |
![]() |
#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; ну тоесть желательно передать переменной значение перед его запуском. Ну вот вроде всё ...пока всё ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
![]()
1. gssocket - это я в параллель на другой вопрос отвечал, в эьтом модуле данный юнит лишний
![]() 2. да 3. какого плана ошибка? 4. да 5. да, по поводу типов поштудируй MSDN 6. через четвертый параметр функции |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
![]()
3)Ошибка WAIT_FAILED (описаная в CASE )
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.05.2007
Сообщений: 10
|
![]()
И ещё один вопрос: объязательно присваивать каждый поток в отдельный хэндл или это только чтобы можно было узнать результат создания потока?
|
![]() |
![]() |
![]() |
#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 |