Обновить
7
0
Роман Сергеев@Cupper

Пользователь

Отправить сообщение
С чего Вы взяли, что я что то «взял»? Я лишь привел некоторые примеры которые у меня возникли в голове, для того что бы автор (или другой отвечающий) лучше понял недоумение возникшее у меня касательно данного топика.
Не, ну если вы ставите минусы значит вы знаете ответ на мой вопрос, так что бы не ответить на него? А то так как горох об стену.
Простите, а можете пояснить главный посыл данной темы? Это для фрилансеров? Это для тех кто хочет что бы на него вышел новый работодатель? Причем тут УК РФ и развитие рунета? Причем тут тор, i2p и прочая анонимизация? Вы собираете базу людей занимающихся нелегальное деятельность? Или вы их хотите к этому привлечь? Или вы хотите использовать базу хабра для распространения какотой информации по принципу «передай соседу»?
Для меня изменения просыпания с 7:30 до 8:30 изменило дневное состояние координально. Если раньше в течении дня я пару часов боролся со сном, а вечером был слаб и к 23:00 уже еле продирал глаза (они реально болели). То теперь в течении дня нормальное самочувствие, а тренировку заканчиваю на час позже и все еще бодр и спать не хочу (и глаза не болят) Ложусь гдето 12:30 — 01:00.

В первом графике я жил 2 года. Во втором 7 месяцев, и менять нехочу ибо наконцтаки чувствую себя нормально.
А можно с помощью этого сделать динамически обновляемый сайт? Например для realtime показа статистики, что бы каждый раз не тыкать на refresh? А во сколько кода это выльется?
При таком графике к концу недели я бы ушел в запой.
Думаю стоит сравнить сколько времени заимает захват мютекса с поддержкой транзакций и без. Это сильно бы прояснило перспективность подхода. Притом в двух случаях, конкурентный захват и нет.
кстати, а эти графики, в случае если цикл находить в транзакции? Вопрос в том находился ли цикл под мютексом в аналогичном примере, если нет, но это неправильный тест.
т.е. разница между мютексом и атомиком/транзакцией на порядок, а между атомиком и транзакцией почти нету. Последнее не плохо, хотябы потому что атомик это сугубо счетчик, а под транзакцией можно делать весьма сложную работа с данными. Но в этом случае я думаю и график измениться.

Было бы интерестно посмотреть пример работы с ассоциативным контейнером в многопоточсное среде. Несовсем понятно должнали реализацию оного быть выполнена в транзакционном стиле.
Статья мало понятная, больше похоже на обзор для тех кто уже в теме. Я весьма с трудом понял о чем речь и почти непонял профита, или случаем когда и как это можно использовать.
Из примера на с++, построение гистограммы, если я правильно понял происходит «защита» доступа к массиву histogram. Так вот вопросы:
1. Не понял зачем весь цикл выполняется в __transaction_atomic. Ведь получается что транзакцией выступает конечный результат всего цикла, а если это и есть основное действие выполняемое каждым из потоков, то как это вяжется с тем что транзакция будет отменена в случае если кто то другой уже успел изменить данные?
2. Или же расчитывается на свойство комутативности операции ++, и типо в конце все транзакции будут применены по очереди? Это означает что результаты всех транзакйций должны быть сложены вместе. А почему не вычтены или замещены?
3. А если мы всетаки делает не комутативные операции, или же они комутативны но с ограничениями? Работа с unsigned типом и операциями "-". Работа одного потока горантирует что тип не будет переполнен. Но если применять операции сразу из несколььких потоков в произвольном порядке то мы получим переполнение.
private static class LazySomethingHolder 
{
        public static Something something = new Something();
}

т.е. в этом случае something это поле класса? И оно будет инициализаровано когда? При загрузке класса или при обращении к методу?
Вы уж простите, просто я особеностей Java незнаю, а тут как бы такая тема которая отчасти пересекается и с С++.
Хм… инициализация статической локальной переменной объявленной внутри метода класса происходит при загрузке класса или же всетаки при первом обращении к методу класса где она объявлена?
Во первых double check работает — вы просто не умеете его готовить.

Это вы на счет Java или C++. Если второе то покажите рецепт.
Благодарствую, но не стоит. Мне бы хотелось услышать (если вы знаете про это) как эта синхронизация работает. В С++ до С++11 была проблема иницализации локальных статических данных, а именно при одновременном запросе к ним из разных тредов, начальная инициализация могла выполниться более одного раза. В С++11 ввели гарантии того, что статическая переменная инициализируется ровно один раз (собстно так же как и в JAVA), Но! Пряники бесплатными не бывают. Раньше такого поведения можно было достич если обращение к статической переменой спрятать под синхронизацией. Но это же медленно! Double check! Но это же не работает! А больше то техник и небыло. Собственно стоит вопрос, а как же тогда это сделали в недрах, например в JVM?

Если там синхронизация при каждом доступе к статической переменной? Если нет, то как они умудряются добится единоразовой инициализации при конкурентном доступе?
Automagically

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

Если так мыслить, то удивительно как я вообще живу, я же русский не знаю. Я не утверждаю, что слабое знание русской грамматики это хорошо, но это и не так страшно, если это не является вашим проффессиональным скилом.
Этот код гарантированно корректен, что следует из гарантий инициализации для статических полей; если поле устанавливается в статическом инициализаторе, он гарантированно сделать его корректно видимым, для любого потока, который обращается к этому классу.

Означаетли это что статические поля инициализируются до старта main функции? В противном случае, когда вызывается инициализация этих полей, и как удовлетворяется условие что это будет сделано перед первым чтение и только единожды?
Интересная особенность на счет volatile, в JAVA это является легальным механизмом синхронизации. В С++ же, оно вроде как и делает что то похожее, но не то что бы не одобряется для данного использования, а просто запрещено для него.
А они что по русски говорят?

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность