Главная страница
    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.044 c
4-1081879825
AndersoNRules
2004-04-13 22:10
2004.05.30
Trouble s WM_ENDSESSION. ne vizivaezza prozzedura


4-1082520099
marina
2004-04-21 08:01
2004.05.30
Рисование


3-1083336426
TankMan
2004-04-30 18:47
2004.05.30
Посоветуйте компонент...


3-1083530028
Kirill
2004-05-03 00:33
2004.05.30
Открываются только 30 записей


14-1084440218
Dmitriy O.
2004-05-13 13:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский