Как не забыть порядок параметров

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Re: Как не забыть порядок параметров

Сообщение скалогрыз » 23.04.2014 15:16:32

hinst писал(а):что-то вы удалились от первоначального вопроса

Добавлено спустя 7 минут 20 секунд:
который насчёт порядка параметров

как ни крути - что-нить забудешь! держи документацию под рукой :D
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Как не забыть порядок параметров

Сообщение Mirage » 23.04.2014 21:38:40

скалогрыз писал(а):Я не понял насчёт коментариев №3 и №4
А почему в твоём комментарии 3 ты пишешь "переменной f уже даже присвоена ссылка на объект" и сразу в 4 "Не, не раньше (чем конструктор завершён ). Из того же потока как не смотри, не раньше".


Потому что такова реальность.

скалогрыз писал(а):"не факт что, те значения которые были записаны в потоке 1, доступны потоку 2, т.к. у потока 1 свой кеш и очень может быть, что поток 1 писал в кеш".


Не знаю чего ты привязался к кэшу, но он, как правило, не причем, потому как когерентен на большинстве архитектур (т.е. разные потоки увидят изменения из кэшей друг друга).
Проблему чаще вызывают переменные в регистрах и переупорядочивание выполнения. А также другие возможные оптимизации.

Итак, подытожим.
Имеем два подхода борьбы с неопределенностью межпоточного взаимодействия, каждый с плюсами и минусами:
1. Обобщенные синхронизации типа мониторов, критических секций и т.п.
+ стандартность объектов синхронизации - не уверен, что это плюс, но надо чтоб был плюс
- тяжесть объектов синхронизации - легкие низкоуровневы и не портабельны
2. Легкие синхронизации, встроенные в язык в виде модели памяти
+ простота использования - immutable объекты очень просты в использовании, да и возможность пометить переменную так, что запись в неё видна другим потокам тоже несложная концепция
+ производительность - можно использовать низкоуровневые, процессорозависимые средства
+ возможность использовать стандартные объекты синхронизации никто не отменял
- простота несколько обманчива - чтобы корректно и эффективно использовать такую вещь как volatile, надо хорошо понимать что происходит "под капотом"

hinst писал(а):что-то вы удалились от первоначального вопроса


Там уже нечего обсуждать. Да и не было особо.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: Как не забыть порядок параметров

Сообщение скалогрыз » 23.04.2014 22:59:27

Mirage писал(а):Не знаю чего ты привязался к кэшу, но он, как правило, не причем, потому как когерентен на большинстве архитектур (т.е. разные потоки увидят изменения из кэшей друг друга).
Проблему чаще вызывают переменные в регистрах и переупорядочивание выполнения. А также другие возможные оптимизации.

потому что не верю в агрессивную оптимизацию.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Пред.

Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru