Перейти к публикации

Vova

User
  • Сообщений

    31 710
  • Зарегистрирован

  • Посещение

  • Время онлайн

    286д 21ч 30м 23с

Все публикации пользователя Vova

  1. Vova

    Тема няШОК (4)

    Хоть кто-то запостил не нейронку Было с ней
  2. Vova

    Программирование[11]

    скок деняк 205 на руки, но я джуняра Джун зарабатывает 205 после налогов А вы мне пиздели что это много когда то давно
  3. Vova

    Секс и Отношения #10

    Вижу пропущенный вызов в телеге от бывшей которая не писала много лет
  4. Vova

    Программирование[11]

    Оооо прикольно а можно было бы еще такой код затестить тк нахуй проверять condition который всегда true @Actor public void panda(II_Result r) { RED.setRelease(this, 1); //logic of Referee#1 is here if ((int) BLUE.getAcquire(this) == 0) { //red panda is the winner r.r1 = 1; } } @Actor public void cat(II_Result r) { BLUE.setRelease(this, 1); //logic of Referee#2 is here if ((int) RED.getAcquire(this) == 0) { //blue cat is the winner r.r2 = 1; } } А потом почему бы не сразу затестить это - один хуй переменная не используется внутри треда @Actor public void panda(II_Result r) { //logic of Referee#1 is here if ((int) BLUE.getAcquire(this) == 0) { //red panda is the winner r.r1 = 1; } RED.setRelease(this, 1); } @Actor public void cat(II_Result r) { //logic of Referee#2 is here if ((int) RED.getAcquire(this) == 0) { //blue cat is the winner r.r2 = 1; } BLUE.setRelease(this, 1); } В презентации было 4 треда - хватит мне мозги пудрить
  5. Vova

    Программирование[11]

    То есть как я и сказал код из презентации не воспроизводится Что в очередной раз доказывает что я дурак и нихуя не разбираюсь в теме в отличие от тех кто вчера посмотрел какой-то видос с Ютуба АЗХАХАХАХАХАХ иди нахуй бля вова лучше бы ты не лез
  6. Vova

    Программирование[11]

    Всего то надо было подождать каких-то 45 лет Теперь можем кайфовать и разбивать текст запятыми Надо всего лишь проапгрейдить всю легаси кодобазу до с++23
  7. Vova

    Программирование[11]

    Даааа А какие то баги фиксить намного сложнее чем другие Вот ведь дилемма...
  8. Vova

    Программирование[11]

    Кто нить смог воспроизвезти этот случай?
  9. Vova

    Программирование[11]

    Ты в это веришь?
  10. Я, конечно, понимаю, что тебе поёрничать хочется, но если ты в рот (а затем и сюда) что-то тащишь, то для начала хотя бы полную речь послушай/почитай для получения контекста (к вниманиеблядям из РИА это тоже относится) Так от контекста не изменился заложенный оратором смысл сказанного. Полный контекст не противоречит сказанному и в этих словах нет какого то другого смысла, который мог бы появиться если цитата обрезана. И это не метафора/анекдот. Путин всё также рад росту сторонников ислама в России. Так на кой ссылаться на контекст - непонятно. Где логика то в таких отмазках вождя ? https://webm.red/1bes.webm? У вас че нет мозга Он сказал что рад увеличению испламского населения потому что не мог сказать ничего другого Конечно он не рад увеличению процента испламсного населения но РФ это не Гитлеровская Германия чтобы позволить себе уничтожение этносов внутри страны Даже Китай когда вводил закон о 1 ребенке - не вводил его для уйгуров тк это выглядело бы двусмусленно In 1979, the Chinese government introduced a policy requiring couples from China's ethnic Han majority to limit themselves to one child.
  11. Предрекаю что сюда все вступим раньше чем в сингулярность
  12. Когда начнут раскулачивать айтишных мразей?

    1. Ramil

      Ramil

      мразь айтишная, тебя первым раскулачим

    2. sB.Raven

      sB.Raven

      у них че-то есть? что можно былоб отнять. Как только появится - там инстантли займутся, не переживай.

  13. Vova

    Программирование[11]

    На собеседовании задаю задачку.
  14. Vova

    Программирование[11]

    причем здесь с++ долбаебушка При том что там точно такие же концепии имеются acquire / release vs volatile И при том что мне было проще найти нужный код описанный в видео на С++ Ну если пользователи данного топика получают другой результат на Java - буду рад увидеть их скриншоты и ссылку на код
  15. Vova

    Программирование[11]

    С удовольствие поучусь на ошибках Можешь сформулировать ошибку на которой мне стоит поучиться? Я утвержлал что код описанный в видео не выдаст случая Панда победила и Котик победил Я нашел такой же код на С++ - запустил несколько раз и такоего случая не случилось Кажется я как всегда оказался прав То что автор видео описывает возможный случай Панда победила и Котик победил - это реальность То что мой такой же код на С++ такого случая не выдает - тоже реальность Я на этой реальности научился и сделал вывод что мои знания по теме не нуждаются в корректировке Как говорится повторение - мать учения
  16. Vova

    Программирование[11]

    О речь шла в моем посте который ты заквотил? Думаю никто лучше меня не понимает О ЧЕМ ШЛА РЕЧЬ В МОЕМ ПОСТЕ Не спорю Ну воспроизведи на джаве Вот мой пост и я утверждаю что того что на скриншоте в видео не произойдет
  17. Vova

    Программирование[11]

    Ладно я за тебя нашел этот код Вот смотри - можешь потыкать кнопку запуска https://coliru.stacked-crooked.com/a/f6bb6c003fe8731e Ну что может посмотрим в что он компилируется - перестановки оптимизации и вот это все Неужели memory_order_seq_cst и memory_order_acquire / memory_order_release компилируются в идентичный код КТО БЫ МОГ ПОДУМАТЬ
  18. Vova

    Программирование[11]

    ты это прям щас можешь воспроизвести на ноутбуке, лол Не могу Ты можешь? Воспроизведи или пиздабол Или скинь видео где другой чел воспроизводит
  19. Vova

    Программирование[11]

    И что если так будет? У теста нет задачи гарантировать корректный код Под любой тест можно написать неправильный код банально добавив print() И что что существуют? Как это относится к моему тезису? Кто-то когда то наблюдал поведение описанное этим долбаебом в таком коде? Нет? Может acquire release позволяют перестановки? Странно Вот в плюсах не позволяют Может в этом коде в принципе возможны какие-то престановки? Молодец что понял Пишешь лок фри код? Покежь Интересный вывод я с ним не согласен Тот код что я видел безусловно да Да спасибо Попробуй начать с уровня "не срать себе в штаны в каждом втором сообщении" Бля когда чел начинает задвигать про лок фри код сразу становится понятно что опыта написание многопоточного кода у него ноль
  20. На улице +40 щас сдохну

  21. Vova

    Программирование[11]

    Отлично давай тогда теперь у нас execute_in_dag_order(order: (("a", "c"), ("b", "c")), {a: lambda, b: lambda, c: lambda}) где любое число лямбд и любой порядок определенный как DAG Я это точно также протестирую тем же тестом Это все и есть многопоточность Хватит выдумывать определния Раз нельзя локи это lock free code Lock free code почти никто не пишет включая вас - есть буквально несколько структур которые написаны lock free Ебанат ты считал что map быстрее unordered_map Вот ты свое знание и показал Так что я могу допускать все что угодно про твое знание тк нижней планки нет ввиду того что ты базы не знаешь Протестирую тем же самым тестом без каких либо изменений Автор долбаеб Все операции с int атомарны Так что такого что он описал случиться не может Продолжайте хавать это говно от теоретиков On all modern processors, you can assume that reads and writes of naturally aligned native types are atomic. As long as the memory bus is at least as wide as the type being read or written, the CPU reads and writes these types in a single bus transaction, making it impossible for other threads to see them in a half-completed state. On x86 and x64 there, is no guarantee that reads and writes larger than eight bytes are atomic. This means that 16-byte reads and writes of streaming SIMD extension (SSE) registers, and string operations, might not be atomic.
  22. Vova

    Программирование[11]

    Ну тык мой юнит тест идеально работает тоже Кто пиздел на мой юнит тест? Кто нить объяснит мне какой баг мой юнит тест не выловит?
  23. Vova

    Программирование[11]

    какого нахуй интерфейса там функционал на уровне функции одной def C_starts_after_A_and_B_finished(a: () => None, b: () => None, c: () => None): val atomicInt = AtomicInt def wrap(x: ()=>None) : return () => x() curr = atomicInt.incAndGet() if curr == 2: c() executor.run(wrap(a)) executor.run(wrap(b)) как это не учевидно из моего описания - я хз А как же wait all (a,b) -> run next (c)? Ну если проигнорировать возможные эксепшены в x() то выглядит рабочим С эксепшеном в a() или b() c() конечно не стартанет никогда Ну и мой тест прекрасно пройдет с такой функцией конечно же
  24. Vova

    Программирование[11]

    A и B вызываются сразу параллельно C после завершения A и B Задача понятно или еще нужны уточнения? почти в любом языке (даже самом отсталом) есть из коробки такая функциональность за счет корутин (и прочих континуейшн бейзд асинхронности) и их композиции. так что это 1 строчка и 2 композиционных комбинатора - wait all (a,b) -> run next (c) это даже не задача на многопоточку если ты подразумеваешь собственноручную реализацию на низкоуровневых примитивах синхронизации - вопрос нахуя писать велосипед если есть уже готовые комбинаторы которые гарантировано работают быстро и надежно? но даже если так - это элементарно, ты просто пишешь свою континуацию и реимплементишь по суди эти комбинаторы вручную. запускаешь а и б в параллель, они обернуты в функцию которая помимо их выполнения в конце инкрементит атомик (джавовый, который по сути просто cas) и проверяет его на == 2, если true то запускает c задача не то чтобы на многопоточку, а на континуации/асинхронщину скорее Я не говорил что это сложно - наоборот я сказал что это очень просто Тем не менее я не вижу в твоем посте интерфейса способного принимать лямбда функции Вы походу все таки гуманитарии - столько текста и воды вместо нескольних строк кода Тык че напишешь имплементацию которая будет проходить этот тест? Можешь еще написать имплементацию которая будет проходить тест и иметь баги Раз мой тест говно - то это должно быть не сложной задачей
×
×
  • Создать...