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

Вниз

Threadы и т.п.   Найти похожие ветки 

 
inic ©   (2004-05-17 15:47) [0]

Дорогие товарищи!
Существует некий класс (пишу условно):


TSomeClass.Method1;
begin
 try
   {...}
 except
 end;
end;

TSomeClass.Method2;
begin
 try
   {...}
 except
 end;
end;


В приложение сущ. только один экземпляр этого класса,
а также 2+ потока (Thread).
Допустим один из потоков выполняет один из этих методов.
Сможет ли другой поток выполнить другой метод (то, что он не сможет выполнить этот же метод - понятно и так)?
Заранее благодарю.


 
panov ©   (2004-05-17 15:49) [1]

Сможет ли другой поток выполнить другой метод (то, что он не сможет выполнить этот же метод - понятно и так)?


Другой поток может выполнить другой метод.
Более того - он может и это метод использовать, который в данный момент использует первый поток.


 
panov ©   (2004-05-17 15:51) [2]

Для защиты от одновременного использования кода разными потоками можно использовать критические секции(например).

TCriticalSection
RTL_CRITICAL_SECTION


 
inic ©   (2004-05-17 15:52) [3]

Непонятно, почему он сможет выполнить этот же метод?
Разве try ... except не одно и то же, что и CriticalSection.
Надеюсь не несу какую-нибудь чушь.


 
panov ©   (2004-05-17 15:55) [4]

>inic ©   (17.05.04 15:52) [3]

Нет, это разные вещи.

try..except..end и try..finally..end - это надстройка над системой обработки исключений, а критические секции - это как раз и есть объекты для потокобезопасного программирования в многопоточных приложениях.


 
inic ©   (2004-05-17 15:56) [5]

Позор на мои седины...
Пошел подкреплять теорию!!!
Спасибо.


 
Digitman ©   (2004-05-17 15:57) [6]


> inic ©   (17.05.04 15:47)  


метод - это просто некая п/программа
если код этой п/программы загружен в АП процесса, любой поток в любой момент времени имеет право и способен вызывать эту п/программу произвольное кол-во раз, ВНЕ зависимости от того, выполняется ли или не выполняется эта же п/программа в данный момент времени в контексте каких-то иных код.потоков того же процесса ..

т.е. любая п/программа (будь она просто п/программа или метод какого-то класса), в любой момент м.б. успешно вызвана на выполнение любым код.потоком того же процесса, если код п/программы доступен для исполнения и известен адрес т.входа в эту п/программу


 
WebErr ©   (2004-05-17 15:57) [7]


> Надеюсь не несу какую-нибудь чушь

Надежда умирает последней. :)



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

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

Наверх




Память: 0.46 MB
Время: 0.068 c
1-1084608983
AlexZ_CRC
2004-05-15 12:16
2004.05.30
Fofm1.Button*.Caption:=massiv[i];


3-1083694556
Miwa
2004-05-04 22:15
2004.05.30
При попытке добавить уникальный ключ в IBExpert


9-1074682745
ZAROLF
2004-01-21 13:59
2004.05.30
Универсальный 3D движок и его написание


3-1083607544
pashaz
2004-05-03 22:05
2004.05.30
DBLookUpComboBox


14-1084394919
Vasya.ru
2004-05-13 00:48
2004.05.30
А в каких крупных проектах ,мастера, участвовали?





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