Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по потокам [D7, WinXP]


Страницы:   1 2 3 4 5

Русланка ©   (2005-09-01 15:48:00) 

Если у меня в главном модуле объявлены глобальные переменные, то сможет ли запущенный отдельный поток писать и читать данные из этих переменных?


Lamer@fools.ua   (2005-09-06 09:13:00) [41]

>> Alexander Panov ©   (02.09.05 11:45) [9]

>   try
    CS.Enter;
 finally
    CS.Leave;
 end;


Хороший пример того, как не надоделать. А надо так:

CS.Enter;
try
 // ...
finally
 CS.Leave;
end;


vidiv   (2005-09-06 05:21:00) [42]


> 1. Код, использующий разные ресурсы, защищается разными
> критическими секциями
> 2. Код в каждом потоке, использующий один и тот же ресурс,
> защищается одной и той же критической секцией. Эта критическая
> секция должна быть известна каждому потоку до начала использования.


Можно пояснить эти два условия?!


Alexander Panov   (2005-09-04 00:28:00) [43]

Еще раз повторю...

Доступ к любому ресурсу возможен только "кем-то". Этот "кто-то" - кодовый поток, точнее - кусок этого кодового поока, в котором происходит обращение к ресурсу, т.е. вполне конкретный код.
Вот этот "кто-то" - это код, который необходимо включить в процесс синхронизации.
Можно назвать это защитой данных, суть от этого не изменится. Я считаю, что значительно понятнее для новичков будет суть процесса синхронизации, нежели игра словами.


Alexander Panov   (2005-09-04 00:22:00) [44]

Fay ©   (04.09.05 0:20) [44]
А вот такой ответ можно понимать вАщЕ как угодно.


А ты ответил на этот вопрос?


Alexander Panov   (2005-09-04 00:21:00) [45]

Fay ©   (04.09.05 0:19) [43]

Сравни 2 цитаты:

"Синхронизация - защита участка кода программы(не данных)"

и

> Синхронизация - защита участка кода программы(не
> данных), использующего(читающего или модифицирующего)
> некий ресурс, обращение к которому происходит из
> нескольких потоков.


Отличается. Верно ведь?


Fay   (2005-09-04 00:20:00) [46]

К [43]
> Вот здесь ответь, изменения кем или чем? Это и будет
> ответом.


А вот такой ответ можно понимать вАщЕ как угодно.


Fay   (2005-09-04 00:19:00) [47]

2 Alexander Panov ©   (03.09.05 23:59)
Нельзя ли тогда узнать, какой был контекст? Просто не могу ничего придумать.
Подобное уже встречалось в "Как приостановить поток" - какой там контекст?
Такой-же? КАКОЙ?!


> Синхронизация - защита участка кодапрограммы(не
> данных), использующего(читающего или модифицирующего)
> некий ресурс, обращение к которому происходит из
> нескольких потоков.


Подобная формулировка допускает разночтения? Не верю.


Alexander Panov   (2005-09-04 00:01:00) [48]

tesseract ©   (03.09.05 18:52) [40]
Я бы сказал что это защита данных от непредсказуемого изменения, в целом и fay не зря волнуется.


"..от непредсказуемого изменения..."

Вот здесь ответь, изменения кем или чем? Это и будет ответом.

"...fay не зря волнуется."

Читай [41]


Alexander Panov   (2005-09-03 23:59:00) [49]

Fay ©   (03.09.05 3:03) [39]

Выдирать фразу из контекста нехорошо. Это демагогические приемы.
Кроме того, вот эта фраза

Мастера, неужели это не бред?
Если нет, то это заoщита кода ОТ ЧЕГО?
А если бред, то где уже этот долбаный "синий карандаш"?!


говорит о том, что у тебя недостаточное понимание этой темы.


tesseract   (2005-09-03 18:52:00) [50]

>>Синхронизация - защита участка кода программы(не данных), >>использующего(читающего или модифицирующего) некий ресурс, >>обращение к которому происходит из нескольких потоков.

Я бы сказал что это защита данных от непредсказуемого изменения, в целом и fay не зря волнуется.


Fay   (2005-09-03 03:03:00) [51]

Я уже второй раз вижу заявление вида "Синхронизация - защита участка кода программы(не данных)" (оба раза автором был Alexander Panov).

Мастера, неужели это не бред?
Если нет, то это заoщита кода ОТ ЧЕГО?
А если бред, то где уже этот долбаный "синий карандаш"?!


Dok_3D   (2005-09-03 00:07:00) [52]

:)


Игорь Шевченко   (2005-09-02 16:17:00) [53]

Alexander Panov ©   (02.09.05 16:12) [34]


> Функция нерабочая?


А что подразумевается под "рабочей" функцией ?


Alexander Panov   (2005-09-02 16:13:00) [54]

Тогда заменим на такую и все.

function GetIniName: String;
begin
Result := ParamStr(0)+'ini';
end;


И мучиться не будем.


Alexander Panov   (2005-09-02 16:12:00) [55]

Игорь Шевченко ©   (02.09.05 16:11) [33]
В корзину такие функции.


Функция нерабочая?


begin...end   (2005-09-02 16:12:00) [56]

> Alexander Panov ©   (02.09.05 16:09) [31]

Это была удивительно информативная мысль.


Игорь Шевченко   (2005-09-02 16:11:00) [57]

Alexander Panov ©   (02.09.05 16:09) [31]

В корзину такие функции. Пользователю по барабану, что там программист понаписал, руководствуясь каким соображениями.


Alexander Panov   (2005-09-02 16:10:00) [58]

begin...end ©   (02.09.05 16:08) [30]
Кроме того, использование этой функции вообще не может повредить ничему(с учетом[24])


Alexander Panov   (2005-09-02 16:09:00) [59]

begin...end ©   (02.09.05 16:08) [30]
Говоря более простым языком, результат функции будет равен результату функции. Так?


Естественно, именно так.


begin...end   (2005-09-02 16:08:00) [60]

> Alexander Panov ©   (02.09.05 16:05) [28]

> Имя файла будет соответствовать тому, которое должно получиться
> в результате работы функции.

Говоря более простым языком, результат функции будет равен результату функции. Так?


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо