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

Вниз

InitializeCriticalSection   Найти похожие ветки 

 
GanibalLector ©   (2004-04-01 03:12) [0]

Какой тип параметра  LPCRITICAL_SECTION???Что в var писать не пойму.Приму в дар исходник по этому поводу.
Спасибо.


 
Digitman ©   (2004-04-01 08:11) [1]


> Приму в дар исходник по этому поводу


Борланд тебе уже "подарил" исходник класса TCriticalSection в модуле SyncObjs. Критическая секция там инициализируется прямо в конструкторе класса. Там и смотри.
"Чего ж тебе еще надобно, старче ?" (с)


 
N170   (2004-04-01 10:54) [2]

LPCRITICAL_SECTION - это указатель на выделенную (тобою) структуру CRITICAL_SECTION, только и всего


 
GanibalLector ©   (2004-04-01 12:25) [3]

Все равно не пойму,млин!!!

Вот из Рихтера пример(стр.205):
TCHAR g_cChars[100]; // разделяемый ресурс
CRITICAL_SECTION g_csChars; // защищает g_cChars

Вот и мне нужно защитить предположим переменную типа string.
Посмотрите,правильно ли я делаю(я думаю что нет!!!)????
У меня переменная  st типа string,а не структура данных защищенная критической секцией(как у Рихтера)!!

var
 Form1: TForm1;
 FSection: TRTLCriticalSection;
 st:string;

InitializeCriticalSection(FSection);// до создания потоков

// в потоке
...
EnterCriticalSection(FSection);
st:=st+"1";
LeaveCriticalSection(FSection);
...


 
BiN ©   (2004-04-01 12:35) [4]

Посмотрите,правильно ли я делаю(я думаю что нет!!!)????

правильно, только в конце DeleteCriticalSection не забудь.

У меня переменная  st типа string,а не структура данных защищенная критической секцией(как у Рихтера)!!

долго смеялся :)


 
GanibalLector ©   (2004-04-01 12:40) [5]

2 bin
Ну так в его коде
TCHAR g_cChars[100]; // разделяемый ресурс
CRITICAL_SECTION g_csChars; // защищает g_cChars
явное указание того,что g_cChars защищен,а у мя нет.
У мя все раздельно.Вот поэтому и спрашиваю.

И еще, FSection и st может вынести в privat???


 
BiN ©   (2004-04-01 12:59) [6]

переменная FSection должна быть глобальной, общедоступной для всех синхронизируемых потоков. Грубо говоря, когда ты вызываешь EnterCriticalSection(FSection) в одном потоке, другой поток при вызове этой же функции будет бесконечно долго ожидать, когда первый поток вызовет LeaveCriticalSection(FSection). Усек?


 
GanibalLector ©   (2004-04-01 18:27) [7]

Пасибки,кстати,в Тейлоре нашел примерЧИК.



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

Форум: "WinAPI";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
11-1068831044
Ciber SLasH
2003-11-14 20:30
2004.05.16
Помогите установить компонент KOLRarInfoBar


14-1082840890
NeyroSpace
2004-04-25 01:08
2004.05.16
Хотя я не ругаюсь, но нашел этот ресурс полезным для себя :-)


3-1082373333
Евкисий
2004-04-19 15:15
2004.05.16
правка TQuery


8-1077345817
Batoon
2004-02-21 09:43
2004.05.16
КАК Сделать FFT(БПФ)


14-1083167480
Yegorchic
2004-04-28 19:51
2004.05.16
Всё за бесплатно!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский