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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.031 c
4-1081643815
juiceman
2004-04-11 04:36
2004.05.30
Антихуковое приложение


1-1084549375
pvb
2004-05-14 19:42
2004.05.30
Текст


1-1084276915
alex4400
2004-05-11 16:01
2004.05.30
Звук определенной частоты и длительности


4-1081744104
Sapsi
2004-04-12 08:28
2004.05.30
Нахождение edit в чужом окне


1-1084779488
MikePol
2004-05-17 11:38
2004.05.30
Книга по COM





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