Текущий архив: 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.041 c