Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: CL | DM;

Вниз

Приоритет потока.   Найти похожие ветки 

 
Новичек ©   (2005-05-24 16:52) [0]

Уважаемые Мастера, подскажите, пожалуйста, как назначить приоритет потоку, созданному с помощью BeginThread?
Спасибо.


 
Digitman ©   (2005-05-24 16:53) [1]

справка ни о чем не говорит, надо понимать ?


 
Fay ©   (2005-05-24 16:55) [2]

SetThreadPriority?


 
Eraser ©   (2005-05-24 16:56) [3]

Новичек ©   (24.05.05 16:52)

Вообще я слышал, что использовать BeginThread не рекомендуют... лучше использовать или наследника TThread или чистый API.


 
begin...end ©   (2005-05-24 16:57) [4]

> Eraser ©   (24.05.05 16:56) [3]

Это CreateThread не рекомендуют.


 
Digitman ©   (2005-05-24 16:59) [5]


> Eraser ©   (24.05.05 16:56) [3]


и опять ты сел в лужу)


 
Eraser ©   (2005-05-24 17:01) [6]

Digitman ©   (24.05.05 16:59) [5]

Я ж не сказал что 100%... )

жара... надо правда на какой-нибудь водоём съездить... ;-)


 
Fay ©   (2005-05-24 17:03) [7]

2 begin...end ©   (24.05.05 16:57) [4]
Почему?


 
Sergey Masloff   (2005-05-24 17:04) [8]

begin...end ©   (24.05.05 16:57) [4]
>Это CreateThread не рекомендуют.
Это для пишущих на Ц++ рекомендации. В Delphi по фиг.


 
Новичек ©   (2005-05-24 17:06) [9]


> справка ни о чем не говорит, надо понимать ?
Естественно, я искал та в первую очередь. Но как догадаться, что следует искать именно SetThreadPriority? Ведь в описании самой BeginThread этого нет.
Спасибо огромное.


 
begin...end ©   (2005-05-24 17:09) [10]

> Fay ©   (24.05.05 17:03) [7]

Потому что CreateThread не устанавливает глобальную переменную IsMultiThtread равной True. Поэтому менеджер памяти не будет знать, что в приложении есть несколько потоков, и доступ к куче будет небезопасным.

> Sergey Masloff   (24.05.05 17:04) [8]

Нет.


 
Игорь Шевченко ©   (2005-05-24 17:10) [11]

Sergey Masloff   (24.05.05 17:04) [8]


> Это для пишущих на Ц++ рекомендации. В Delphi по фиг.


То есть, код смотреть - оно нафиг не нужно ?


 
Sergey Masloff   (2005-05-24 17:15) [12]

begin...end ©   (24.05.05 17:09) [10]
>> Sergey Masloff   (24.05.05 17:04) [8]
>Нет.
Что ж нет-то. IsMultiThread я руками устанавливаю. Просто привык исторически CreateThread использовать. Никаких проблем абсолютно.


 
Sergey Masloff   (2005-05-24 17:33) [13]

Игорь Шевченко ©   (24.05.05 17:10) [11]
Читал
function ThreadWrapper(Parameter: Pointer): Integer; stdcall;
Долго думал (с) ;-) Пока не придумал чем это может грозить. Вроде на странное поведение не натыкался...


 
Fay ©   (2005-05-24 17:38) [14]

begin...end ©   (24.05.05 17:09) [10]
> Поэтому менеджер памяти не будет знать, что в
> приложении есть несколько потоков, и доступ к куче
> будет небезопасным.

Это ужасно 8). А руками?


 
Sergey Masloff   (2005-05-24 17:46) [15]

Игорь Шевченко ©   (24.05.05 17:10) [11]
Игорь, так можно чуть более развернутый коммент? Что там за химия с TLS, на фига? И чем грозит если не сделать.
P.S. Что такое TLS я знаю, эту часть можно пропустить.


 
begin...end ©   (2005-05-24 17:52) [16]

> Fay ©   (24.05.05 17:38) [14]

> Это ужасно 8). А руками?

А зачем?


 
Игорь Шевченко ©   (2005-05-24 17:54) [17]

Sergey Masloff   (24.05.05 17:33) [13]

Там собственно, IsMultiThread для диспетчера памяти хинт устанавливает. И вся разница. В С++ та же песня.


 
Fay ©   (2005-05-24 17:59) [18]

begin...end ©   (24.05.05 17:52) [16]
CreateThread привычнее.


 
Sergey Masloff   (2005-05-24 18:14) [19]

begin...end ©   (24.05.05 17:52) [16]
>А зачем?
Привычка вторая натура. Серьезно ;-) Уже на автомате пишешь, и надобить не думая CreateThread + IsMultiThread быстрее получается чем выпасть из потока на секунду и вспомнить про BeginThread().
 <offtop>
 Из той же серии. Написал тут на автомате #define MM_XXX 8001; и чуть инфаркт не получил при попытке отладки в VC6. Часа 4 убил... А еще пишут на королевстве дельфи "сильно ли вам в дельфе не хватает препроцессора". Поубивав бы! (с)
 </offtop>


 
Игорь Шевченко ©   (2005-05-24 18:20) [20]

Sergey Masloff   (24.05.05 18:14) [19]


> Написал тут на автомате #define MM_XXX 8001;


На эти грабли наступают многие бледнолицые друзья. Я const долго писал без точки с запятой и удивлялся. Хорошо хоть ошибка быстрее вылезала.



Страницы: 1 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.196 c
4-1113737504
volser
2005-04-17 15:31
2005.06.14
Генерация Hardware ID


14-1117027343
Opilki_Inside
2005-05-25 17:22
2005.06.14
Где бы распечатать А1 ?


1-1117025094
john_mag
2005-05-25 16:44
2005.06.14
работа со StringGrid


1-1117339257
Homa_Programer
2005-05-29 08:00
2005.06.14
Popup &amp; DBGrid


10-1094116683
Тест
2004-09-02 13:18
2005.06.14
JBuilderX &amp; Delphi