Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизМногопоточное приложение Найти похожие ветки
← →
misha_gr (2010-03-16 14:04) [0]Уважаемые Мастера. Возник у меня следующий вопрос. Если я использую наследник TThread, получается, я не могу в Execute использовать множество функций Delphi? Например, ну, какой-нить безобидный IntToStr - уже небезопасен?
← →
Медвежонок Пятачок © (2010-03-16 14:05) [1]IntToStr может быть запросто небезопасен и будучи вызванным в основном потоке.
← →
misha_gr (2010-03-16 14:08) [2]> IntToStr может быть запросто небезопасен и будучи вызванным в
> основном потоке.
нельзя ли пояснить?
← →
Медвежонок Пятачок © (2010-03-16 14:09) [3]запросто.
десять вторичных потоков меняют значение глобального интегера.
а в главном потоке мы делаем IntToStr этому интегеру.
← →
misha_gr (2010-03-16 14:18) [4]Ну кагбэ предполагается, что общие ресурсы защищены от одновременного изменения тем или иным образом. Вопрос в другом: разные потоки одновременно вызывают IntToStr, для разных интегеров. Что мы имеем на выходе? Корректные значения или как получится?
Ну и имеется в виду куча общеприменяемых функций Delphi. IntToStr - просто первое что в голову пришло.
← →
Медвежонок Пятачок © (2010-03-16 14:19) [5]Сам по себе ИнтТуСтр безопасен как секс в титановом презервативе без партнера.
← →
Германн © (2010-03-16 14:21) [6]
> Вопрос в другом: разные потоки одновременно вызывают IntToStr,
> для разных интегеров. Что мы имеем на выходе? Корректные
> значения или как получится?
>
Откуда такая паранойя?
← →
Медвежонок Пятачок © (2010-03-16 14:24) [7]Что мы имеем на выходе? Корректные значения или как получится?
На выходе, мы, (все нормальные земляне) имеем результат инттустр.
← →
misha_gr (2010-03-16 14:53) [8]Хорошо, сформулируем вопрос по другому: потокобезопасная функция, как ее отличить от потокоНЕбезопасной? Как достигается потокобезопасность? Как написать потокобезопасную функцию?
Вот локальные переменные, например, создаются новые экземпляры каждый раз при входе в функцию?
← →
Медвежонок Пятачок © (2010-03-16 14:59) [9]они потому локальными и называются, оттого что они не глобальные.
← →
misha_gr (2010-03-16 15:05) [10]Локальными переменными они называются из-за области видимости. Уважаемый Пятачок, нет желания отвечать на поставленные вопросы - не тратьте своё время.
← →
Медвежонок Пятачок © (2010-03-16 15:09) [11]из-за области видимости
и у тебя есть мега-подозрение, все значения локальной переменной процедуры видимы во всех вызовах этой процедуры?
что мешает проверить?
← →
Dennis I. Komarov © (2010-03-16 15:12) [12]
> misha_gr (16.03.10 14:53) [8]
Потокобезопасность достигается пониманием как оно работает...
← →
Медвежонок Пятачок © (2010-03-16 15:15) [13]Потокобезопасность достигается пониманием как оно работает...
Оно видимо хочет чтобы ему здесь запостили раздел встроенного хелпа про девелопинг мультисреадед аппликайшен.
← →
имя (2010-03-16 15:20) [14]Удалено модератором
Примечание: Читать - сколько угодно
← →
Медвежонок Пятачок © (2010-03-16 15:30) [15]встроенный хелп лежит под кнопкой F1
← →
Демо © (2010-03-16 16:35) [16]
> misha_gr
http://forum.vingrad.ru/forum/topic-60076.html
Потокобезопасный код - код, в котором общие ресурсы, используемые в разных потоках, содержат при выполнении кода ожидаемое значение.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.061 c