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

Вниз

Вызов процедуры из потока   Найти похожие ветки 

 
3APA3A   (2004-07-03 19:03) [0]

У меня вот такая процедура

   procedure Wait(Interval : Cardinal);
   var hEvent : Cardinal;
   begin
     hEvent := CreateEvent(nil, True, True, nil);
     WaitForSingleObject(hEvent, Interval);
     CloseHandle(hEvent);
   end;

 Является ли она потокобезопасной?  Я думаю, что да, но интересно послушать другие мнения...

P.S. вопрос даже не конкретно про мою процедуру, а вообще -
 когда поток вызывает функцию, создаются ли ее локальные переменные в стеке для каждого потока или нет?

P.S.S. в довесок - чем threadvar отличается от var?


 
DrPass ©   (2004-07-03 19:19) [1]

Является.
P.S. Создаются
P.P.S. Глобальная переменная, объявленная как var, доступна для всех потоков
Переменная threadvar как бы создается в нескольких экземплярах - для каждого потока, т.е. является потокобезопасной. На самом деле threadvar представляет собой прозрачную для программиста оболочку над виндовым механизмом thread local storage, и потому доступ к таким "переменным" осуществляется намного медленнее, чем к обычным


 
3APA3A   (2004-07-03 19:32) [2]

Отсюда вытекает
  что как только поток завершился нет никакой возможности узнать "его" значение threadvar-переменной
  или
    я ошибаюсь... можете поподробней рассказать про механизм thread local storage или заURLить меня куда-нибудь?


 
Polevi ©   (2004-07-03 22:29) [3]

http://www.delphimaster.ru/articles/localmem/index.html



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

Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.039 c
3-1087723683
newwm
2004-06-20 13:28
2004.07.18
как изобразить логическую и физическую структуру БД


1-1089089115
Валентин
2004-07-06 08:45
2004.07.18
runtime packages


3-1087995468
peypivo
2004-06-23 16:57
2004.07.18
firebird


14-1088498114
Igorek
2004-06-29 12:35
2004.07.18
Engine-independent DB Application - мосты и окна


3-1087491034
TUser
2004-06-17 20:50
2004.07.18
Ошибка в таблице





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