Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Создание потоков в Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Создание потоков в Delphi
Имя
Сообщение << Старые топики   Новые топики >>
Создание потоков в Delphi - 2008-03-19 01:19:34.440000   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
подскажите как в делфи правильно создавать потоки?
есть код который обращаться к сайту (с помощью WinInet.pas), как можно сделать обращение к сайту в несколько параллельных потоков?
Post #: 1
RE: Создание потоков в Delphi - 2008-03-19 02:39:49.330000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Юзай WinAPI: CreateThread…
Post #: 2
RE: Создание потоков в Delphi - 2008-03-19 03:32:15.350000   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
по моему проще же будет юзать дельфийские TData. кто нибудь знает как с ним работать?
Post #: 3
RE: Создание потоков в Delphi - 2008-03-19 21:22:05.306666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
 Нее.CreateThread - оно,но не надо бы.Там в ней бага/недоработка есть.Я бы посоветовал лучше BeginThreadEx(); (EndThread+CloseHandle к ней). Только синхронизацию нормально сделай,хз что у тебя,но почти всегда надо. А TData чем уж так тебе лучше(и нах именно он именно для потоков)?). WinAPI полюбому качественнее и нисколько не сложнее.
Post #: 4
RE: Создание потоков в Delphi - 2008-03-19 21:27:00.263333   
sneG0K

Сообщений: 120
Оценки: 0
Присоединился: 2008-01-12 20:15:11.396666
Юзай TThread… 
Post #: 5
RE: Создание потоков в Delphi - 2008-03-20 01:23:13.816666   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
quote:

Юзай TThread…

люди, подскажите хорошие ссылки, где можно про это почитать?

Post #: 6
RE: Создание потоков в Delphi - 2008-03-20 13:03:29.566666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: Genco

&nbsp;Нее.CreateThread - оно,но не надо бы.Там в ней бага/недоработка есть.Я бы посоветовал лучше BeginThreadEx(); (EndThread+CloseHandle к ней). Только синхронизацию нормально&nbsp;сделай,хз что у тебя,но почти всегда надо.

А что за баг, можно поподробней? Мне интересно ;). Сколько писал - всегда всё нормально писалось.
Post #: 7
RE: Создание потоков в Delphi - 2008-03-20 15:51:13.960000   
sneG0K

Сообщений: 120
Оценки: 0
Присоединился: 2008-01-12 20:15:11.396666
http://forum.vingrad.ru/forum/topic-60076.html - вот… читай, учи!!! тока читать там много!!!
Post #: 8
RE: Создание потоков в Delphi - 2008-03-20 20:13:05.310000   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
quote:

А что за баг, можно поподробней?
Да сам недавно услышал.Умные люди сказали,что в CreateThread() по завершению работы что то не делается(то ли память не вся освобождается,то ли не возвращается что то куда то). Не,работать то работает,не смертельно,но я теперь для страховки следую совету и юзаю BeginThreadEx().А так разница небольшая.
Post #: 9
RE: Создание потоков в Delphi - 2008-03-21 18:07:11.173333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Да врядли. Это смотря, как thread завершать. Есть одна фича, особенность CRT - это если в функции _tWinMain вызвать return - то завершится процесс, а не только текущий поток (хоть он и является первичным). Поэтому вместо реторна надо юзать ExitThread.
Post #: 10
RE: Создание потоков в Delphi - 2008-03-24 01:54:06.060000   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
что то у меня в Delphi 2007 не получается работать с классом TThread :(
Post #: 11
RE: Создание потоков в Delphi - 2008-03-24 02:09:39.456666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
 Емкое заявление)).Ну,сочувствую.А может таки объяснишь,чем плохо 3 строчки на WinAPI написать?
Post #: 12
RE: Создание потоков в Delphi - 2008-03-24 02:28:15.980000   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
quote:

А может таки объяснишь,чем плохо 3 строчки на WinAPI написать?

считаю, что приложения надо писать в одном стиле, а не лепить из чего можешь. так сказать, соблюдаю правила хорошего тона =)
Post #: 13
RE: Создание потоков в Delphi - 2008-03-24 10:53:16.706666   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
quote:

считаю, что приложения надо писать в одном стиле, а не лепить из чего можешь. так сказать, соблюдаю правила хорошего тона =)

сколько лет занимаешься кодингом?думаю нисколько, и ручаюсь, что месяца 3-4 (а то и меньше), хотя бы потому что не умеешь работать с потоками =), той инфы, которую дал тебе sneG0K хватит выше крыши, а если тебе лень сидеть и разбираться - твои проблемы, программу за тебя никто писать не будет.
Post #: 14
RE: Создание потоков в Delphi - 2008-03-24 22:01:30.086666   
Absurd

Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
quote:

ORIGINAL: Genco

Нее.CreateThread - оно,но не надо бы.Там в ней бага/недоработка есть.

не может быть в CreateThread никакого бага. Это родная функция windows, все прочие способы создания тредов опираются на нее. В С/С++ есть проблема в том что в библиотеках С/С++ есть глобальные переменные, отчего могут быть глюки с использованием функций этих стандартных библиотек одновременно из разных тредов. Поэтому в Visual C++ в мультитредовом режиме компиляции глобальные переменные библиотек С/С++ помещаются в Thread Local Storage (TLS), и вместо CreateThread используется обвязка _beginthreadex которая вызывает CreateThread и после этого инициализирует TLS. В качестве альтернативы можно не пользоваться стандартными библиотеками C/C++ вообще, а использовать win32-функции HeapAlloc() вместо malloc(), CreateFile вместо fopen() итд. В Делфи возможно такая же история.
Post #: 15
RE: Создание потоков в Delphi - 2008-03-25 00:18:48.263333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Воот!! Именно это я и слышал,но в силу недостатка просвещенности не донес как следует!(не встречался особо с этой тонкостью)  //про глюки
З.Ы. В Делфи то же все,но функции(которые С++ роднее) обернуты вроде специально,а так разница невелика.
Post #: 16
RE: Создание потоков в Delphi - 2008-03-25 14:12:16.530000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Хм. Ну это, имхо, очевидно было.
Post #: 17
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Создание потоков в Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.