Size: a a a

2020 January 10

P

Pavel in rust_offtopic
модель памяти покрывает атомарность операций с примитивами
источник

DF

Dollar Føølish in rust_offtopic
Да
источник

P

Pavel in rust_offtopic
Dollar Føølish
Я про атомики в джаве
атомики не примитивы
источник

P

Pavel in rust_offtopic
это просто классы, которые реализуют атомарность некоторых операций над примитивами, которые не атомарны по модели памяти (например инкременты)
источник

DF

Dollar Føølish in rust_offtopic
Это классы? Они чо за поинтером все?
источник

P

Pavel in rust_offtopic
тоесть есть int i = 0;, i = 5; — атомарно, но i++ — нет, даже если пометить его volatile
источник

P

Pavel in rust_offtopic
Dollar Føølish
Это классы? Они чо за поинтером все?
а ты знаешь какие-то другие атомики в джаве?
источник

DF

Dollar Føølish in rust_offtopic
Я не помню джаву так хорошо
источник

DF

Dollar Føølish in rust_offtopic
Я думал у них специальный хендлинг
источник

P

Pavel in rust_offtopic
ну, это классы из стдлибы, вм может делать специальный хендлинг
источник

KR

Kai Ren in rust_offtopic
Pavel
не же, у тебя всего N^2 вариантов в каждый момент времени, где N — количество потоков, но все N вариантов определены и дата-рейс не вызывает стрельбу единорогами из чашки с кофе, это доподлинно известно
То есть то, что описано, к примеру, здесь: https://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong
В Java'е вообще никак не возможно?
источник

P

Pavel in rust_offtopic
там много чего написано, но в целом нельзя рассуждать о джаве в рамках плюсов — у них разные модели памяти, но джава явно прописывает, что запись в конкретный примитив атомарна, примитивами так же считаются ссылки и елементы массивов, потому даже если проц не умеет писать один байт, то вм должна разобраться и порешать, чтоб запись одного байта в массив была атомарной для приложения.

Спека модели памяти в джаве хоть и сложная и достаточно большая, но всё равно намного проще, чем плюсовая и в целом можно описать достаточно кратко: все записи точно атомарны и локальны (кроме double/long, которые могут быть не атомарными, но всё равно локальны — никогда не касаются других полей/елементов), все записи, которые happens-before чтений будут видимы, является ли событие А happens-beofre Б — читайте документацию.
источник

KR

Kai Ren in rust_offtopic
Интересно Java пляшет. Не знал. Спасибо за ликбез 🙏
источник

P

Pavel in rust_offtopic
в общем, если интересно про это всё, то тут есть: https://docs.oracle.com/javase/specs/jls/se13/html/jls-17.html
источник

P

Pavel in rust_offtopic
собственно, самый важный факт про гонки в джаве, который, видимо, надо було упомянуть явно:
источник

AK

Alexander Krivitskiy in rust_offtopic
Если определить пиздец - он от этого быть пиздецом не перестанет.
источник

RA

Renat Amirov in rust_offtopic
Всем привет! Если бы мы жили в параллельном мире, где не было бы парадокса Рассела. Теория множеств была бы единственно верным основанием математики. То Рассел не придумал бы Теорию Типов. И был бы один универсальный язык программирования КАНТОР с одним типом и множеством функций на нем, представляющий из себя одну моноидальную категорию Set, содержащую объект Elem с эндоморфизмами. И царил бы мир и согласие в лагере прогеров. И не было бы между ними холиваров. 🤪
источник

DP

Dmitry Ponyatov in rust_offtopic
Gymmasssorla
Сишку нет
тю, про Фортран тоже так говорили
источник

DP

Dmitry Ponyatov in rust_offtopic
Gymmasssorla
Ну ты репозиторий Vlang скачал, нажал make, который скачивает другой компилятор, чтоб скомпилировать Vlang за секунду
скажи спасибо что оно LLVM9 из исходников не собирает
источник

ch

central hardware in rust_offtopic
Renat Amirov
Всем привет! Если бы мы жили в параллельном мире, где не было бы парадокса Рассела. Теория множеств была бы единственно верным основанием математики. То Рассел не придумал бы Теорию Типов. И был бы один универсальный язык программирования КАНТОР с одним типом и множеством функций на нем, представляющий из себя одну моноидальную категорию Set, содержащую объект Elem с эндоморфизмами. И царил бы мир и согласие в лагере прогеров. И не было бы между ними холиваров. 🤪
Была бы скорее антиутопия нежели утопия
источник