![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
По поводу одновременного выполнения кода [D1, D2, D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
Oxy2 © (2002-08-17 17:44:00)Привет!
Что уважаемые мастера скажут, если я спрошу такое. Если две нити выполняют одну и ту же процедуру, то реально они выполняют один и тот же код или для каждой нити создается своя копия процедуры.
Aleksey Pavlov (2002-08-19 14:21:00) [1]>> Oxy2 (17.08.02 17:44):
Код выполеняется один, но для каждой нити (thread) создаётся своё отображение данной процедуры. Т.е. результат выполнения данной процедуры в одном потоке (thread) не зависит от выполнения этой же процедуры во втором потоке (если специально не предусмотрены меры по взаимодействию двух или более потоков).
>>Yaro © (18.08.02 15:02):
см. статьи на этом сайте.
Oxy2 (2002-08-19 10:55:00) [2]>>Cobalt
Я примерно догадывался, но точно не знал. Спасибо.
Yaro (2002-08-18 15:02:00) [3]Извините за ламерский вопрос, но как работать с потоками (ведь о них идет речь?)
Cobalt (2002-08-17 23:06:00) [4]Они выполняют один и тот же код.
Другое дело, как процедура работает с переменными. если они локальны (но обязательно не типизированные константы - они сохраняют свое значение после выхода из процедуры) - то проблем нет, а вот обращение к одним и тем же глобальным переменным грозит потерей информации (как-то запись по недействительному (в данный момент времени) адресу и т.п.)