Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Новичек ©   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.036 c
3-1115264768
Бизон
2005-05-05 07:46
2005.06.14
Проблемы с кодировкой


11-1098418435
Владимир Кладов
2004-10-22 08:13
2005.06.14
COLLAPSE


3-1115721196
Mr.F
2005-05-10 14:33
2005.06.14
Построение 7 уровнего дерева из таблицы


1-1116942271
Rule
2005-05-24 17:44
2005.06.14
коллекция или массив в OLE Automation Object, как сделать ?


1-1116993598
Denmin
2005-05-25 07:59
2005.06.14
Как сделать tabsheet невидимым?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский