Главная страница
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.043 c
1-1117376417
aha
2005-05-29 18:20
2005.06.14
Как красиво как в Ворде например сделать функцию переименования


14-1116850080
AlexOl
2005-05-23 16:08
2005.06.14
Нужен программист работающий с Delphi + MSSQL/Oracle


1-1116926464
Pavelkq
2005-05-24 13:21
2005.06.14
Передача имени массива в качестве параметра


1-1117235832
Dark123us
2005-05-28 03:17
2005.06.14
ошибка при попытке выгрузки Dll


14-1116906917
Zer0
2005-05-24 07:55
2005.06.14
Generation G