параллельные салаты, конкурентные бургеры, облачный кофе
https://habr.com/ru/company/wunderfund/blog/581994/
...есть захотелось
== An Intro to Threading in Python
https://realpython.com/intro-to-python-threading/
https://habr.com/ru/company/wunderfund/blog/581994/
...есть захотелось
== An Intro to Threading in Python
https://realpython.com/intro-to-python-threading/
Хабр
Разбираемся с параллельными и конкурентными вычислениями в Python
Я собираюсь рассказать историю о еде, раскрывающую различные возможности конкурентного и параллельного выполнения кода в Python. Прим. Wunder Fund: для задач, где не критичны экстремально низкие...
чот случайно даж задумался заюзать эту CMSку
Wagtail
https://habr.com/ru/post/582898/
https://python-scripts.com/wagtail
и да по ходу питон превращается в пхп)))) наброс
Wagtail
https://habr.com/ru/post/582898/
https://python-scripts.com/wagtail
и да по ходу питон превращается в пхп)))) наброс
Хабр
Wagtail — лучшая CMS на python в нашей галактике
Wagtail - это популярная CMS на основе Django. Django предоставляет огромные возможности - с его помощью созданы не только сайты, но и, например, популярный веб-сервис комментариев disqus , веб-сервис...
Forwarded from CyberYozh
Шифрование переписок в браузере
CryptoData – браузерное дополнение с функционалом шифрования данных для браузеров Mozilla Firefox и Google Chrome.
После установки дополнения. При нажатии на значок CryptoData появляется форма для текста, который вы хотите зашифровать (или расшифровать). Используемый алгоритм шифрования AES-256 на сегодняшний день является оптимальным решением для быстрого и безопасного шифрования. Если вдруг вас потянет в настройки сменить его на RC4 (Rivest cipher), настоятельно не советую: RC4 в 2018 году уже устарел и не является достаточно безопасным. Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.
Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.
CryptoData поможет вам зашифровать почту в онлайн-клиентах вроде Gmail, переписки в социальных сетях, но может применяться и для шифрования сообщений в мессенджерах.
CryptoData – браузерное дополнение с функционалом шифрования данных для браузеров Mozilla Firefox и Google Chrome.
После установки дополнения. При нажатии на значок CryptoData появляется форма для текста, который вы хотите зашифровать (или расшифровать). Используемый алгоритм шифрования AES-256 на сегодняшний день является оптимальным решением для быстрого и безопасного шифрования. Если вдруг вас потянет в настройки сменить его на RC4 (Rivest cipher), настоятельно не советую: RC4 в 2018 году уже устарел и не является достаточно безопасным. Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.
Нажимаем Зашифровать, придумываем временный ключ. Ключ надо передать собеседнику альтернативным каналом.
⚠️ Помните, что даже самый надежный алгоритм шифрования не будет безопасным при слабом, легко подбираемом ключе.CryptoData поможет вам зашифровать почту в онлайн-клиентах вроде Gmail, переписки в социальных сетях, но может применяться и для шифрования сообщений в мессенджерах.
чуток про мобильные сети
Эх жаль на канале уже год нет новых видео =(
== В чем разница между 1G, 2G, 3G и 4G? Детальный обзор
https://youtu.be/uNDvnJSUHd0
== Замирание сигнала в радиоканале
https://youtu.be/Rcvs1FOFYj0
- быстрые замирания
- медленные замирания (изза метео условий)
- многолучевость (тот же сигнал со смещением во времени)
- нестабильность параметров приемника/передатчика
- ослабление сигнала в лесу вдвое больше чем в городе
== Транкинговая система мобильной связи. Радиальная система мобильной связи
https://youtu.be/w1mVd9hktXs
радиальная - каждому отдельные частоты
транкинговая - каждой сессии отдельная частота
== Handover – один из основных принципов сотовой связи.
https://youtu.be/_eeKzommA9U
возможность перехода из одной соты в другую - БС измеряет качество связи и выбирает лучшую (только в режиме приема/передачи)
== Основной принцип построения сотовой связи.
https://youtu.be/0VDWVSfiapg
сота максимального радиуса 35км !!!
в городах часто не привышает 1.5км (изза нагрузки)
- при перегрузке уменьшают мощность перегруженной БС что бы переключить на другую БС
Одна бс состоит из нескольких кластерных антенн (каждая по 120 или 60 градусов)
одни и теже частоты используются многократно в разных кластерах ! так как они используются не в соседними а сотами через одни (минимум)
== история мобильной связи
https://youtu.be/9A3aOpE9dNk
Эх жаль на канале уже год нет новых видео =(
== В чем разница между 1G, 2G, 3G и 4G? Детальный обзор
https://youtu.be/uNDvnJSUHd0
== Замирание сигнала в радиоканале
https://youtu.be/Rcvs1FOFYj0
- быстрые замирания
- медленные замирания (изза метео условий)
- многолучевость (тот же сигнал со смещением во времени)
- нестабильность параметров приемника/передатчика
- ослабление сигнала в лесу вдвое больше чем в городе
== Транкинговая система мобильной связи. Радиальная система мобильной связи
https://youtu.be/w1mVd9hktXs
радиальная - каждому отдельные частоты
транкинговая - каждой сессии отдельная частота
== Handover – один из основных принципов сотовой связи.
https://youtu.be/_eeKzommA9U
возможность перехода из одной соты в другую - БС измеряет качество связи и выбирает лучшую (только в режиме приема/передачи)
== Основной принцип построения сотовой связи.
https://youtu.be/0VDWVSfiapg
сота максимального радиуса 35км !!!
в городах часто не привышает 1.5км (изза нагрузки)
- при перегрузке уменьшают мощность перегруженной БС что бы переключить на другую БС
Одна бс состоит из нескольких кластерных антенн (каждая по 120 или 60 градусов)
одни и теже частоты используются многократно в разных кластерах ! так как они используются не в соседними а сотами через одни (минимум)
== история мобильной связи
https://youtu.be/9A3aOpE9dNk
YouTube
В чем разница между 1G, 2G, 3G и 4G? Детальный обзор
В данном видео подробно рассмотрены 4 поколения мобильной связи. Начиная c 1G и заканчивая 4G.
1) Что такое G ? – 00:19;
2) Мобильная связь 1G. Сети первого поколения. Стандарты AMPS, NMT – 01:02;
3) Множественный доступ с частотным разделением FDMA – 01:32;…
1) Что такое G ? – 00:19;
2) Мобильная связь 1G. Сети первого поколения. Стандарты AMPS, NMT – 01:02;
3) Множественный доступ с частотным разделением FDMA – 01:32;…
https://google.github.io/flatbuffers/
Многообещающая либа для сериализации от гугла
Многообещающая либа для сериализации от гугла
== SSh-протокол. Защита
https://youtu.be/RzjxuSNTGeU
ничего нового, но если коротко:
- можно посмотреть лог попыток брутфорса на серваке
- вырубайте доступ по паролю вспринципе
- hydra работает оч просто
- fail2ban очень помогает сразу отрубать айпишники которые ошибаются в попытках авторизации на сервак
- лучше закрывать 22 порт и переносить его на чтото еще пятизначное
- закрывать доступ допустимыми IP пулами
https://youtu.be/RzjxuSNTGeU
ничего нового, но если коротко:
- можно посмотреть лог попыток брутфорса на серваке
/var/log/btmp
- можно посомтреть лог сессий на серваке /var/log/auth.log
- юзайте RSA ключи а не пароли- вырубайте доступ по паролю вспринципе
- hydra работает оч просто
- fail2ban очень помогает сразу отрубать айпишники которые ошибаются в попытках авторизации на сервак
- лучше закрывать 22 порт и переносить его на чтото еще пятизначное
- закрывать доступ допустимыми IP пулами
YouTube
SSh-протокол. Защита и атака
Дорогие друзья ❤️ У нас появился большой платный курс по анонимности и безопасности в сети. Ознакомиться с курсом можно 👉 https://book.cyberyozh.com/ru/kurs-kompleksnaya-nastrojka-bezopasnosti-i-anonimnosti/
Еще мы запустили небольшие платные курсы с ними…
Еще мы запустили небольшие платные курсы с ними…
шикарный новый для меня канал по безопасности от разраба IBGroup
== Linux значит безопасно? О настройке Ubuntu для серверов и рабочих станций.
https://youtu.be/sJYa40oXJB0
- современное железо с TPM
- зашифровать весь диск с LUX
- секьюр бут!
- linux over tpm
- Kernel DMA protection!
- пароль большой и стойкий
то что у вас линукс это не значит безопасно
open source != безопасность
- обновляться ! обязательно !
- не работать под рутом
- минимизировать количество пакетов что устанавливаются
- SELinux
- AppArmor
- firewall - не юзать дефолты
- разрешить только доступ по ключам
- а нужен вообще ли доступ удаленный впринципе ?
- удалить лишние демоны и пр пакеты
- fail2ban
- жесткие полиси по бану за ошибку подключения
- ПРОВЕРЯЙ то что ставишь
== Как проверить свой айфон на слежку и взлом. Вирус Pegasus и защита вашего iOS устройства
https://youtu.be/I-ZwblCnBO4
- атаки идут в основном на встроенные приложения в ОС. остальные приложения работают в "песочницах"
- выключить IMessage
- сделать пароль больше чем 6 цифр
- отключить шторку при заблокрированном экране
== Linux значит безопасно? О настройке Ubuntu для серверов и рабочих станций.
https://youtu.be/sJYa40oXJB0
- современное железо с TPM
- зашифровать весь диск с LUX
- секьюр бут!
- linux over tpm
- Kernel DMA protection!
- пароль большой и стойкий
то что у вас линукс это не значит безопасно
open source != безопасность
- обновляться ! обязательно !
- не работать под рутом
- минимизировать количество пакетов что устанавливаются
- SELinux
- AppArmor
- firewall - не юзать дефолты
- разрешить только доступ по ключам
- а нужен вообще ли доступ удаленный впринципе ?
- удалить лишние демоны и пр пакеты
- fail2ban
- жесткие полиси по бану за ошибку подключения
- ПРОВЕРЯЙ то что ставишь
== Как проверить свой айфон на слежку и взлом. Вирус Pegasus и защита вашего iOS устройства
https://youtu.be/I-ZwblCnBO4
- атаки идут в основном на встроенные приложения в ОС. остальные приложения работают в "песочницах"
- выключить IMessage
- сделать пароль больше чем 6 цифр
- отключить шторку при заблокрированном экране
YouTube
Linux значит безопасно? О настройке Ubuntu для серверов и рабочих станций.
Итак, сегодня поговорим о безопасности Linux систем. К сожалению, тема настолько обширная, что не стоит рассчитывать на его полноту и ответы на все вопросы. С другой стороны даже базовых мер, рассказанных в видео зачастую не применяется, уповая на мнимое…
== Транзисторы и смерть закона Мура https://youtu.be/lHptVT-tS-Y
YouTube
Транзисторы и смерть закона Мура [2veritasium]
Помощь проекту: https://www.patreon.com/VertDider
Согласно закону Мура, вычислительная техника становится в 2 раза лучше каждые 18 месяцев. Главным образом — за счёт того, что размер транзисторов уменьшается, а их количество на чипе растёт. Но может ли такое…
Согласно закону Мура, вычислительная техника становится в 2 раза лучше каждые 18 месяцев. Главным образом — за счёт того, что размер транзисторов уменьшается, а их количество на чипе растёт. Но может ли такое…
== курс "Параллельное программирование"
https://youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT
про многопоточность, многопроцессорность, способы ускорить не толлько разбивая на много потоков, алгоритмы распределенных вычислений, opencl и пр
ШИКАРНЫЙ лектор. хороший курс
говорит быстро. поэтому больше чем в 1.5 не получилось ускорить
https://youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT
про многопоточность, многопроцессорность, способы ускорить не толлько разбивая на много потоков, алгоритмы распределенных вычислений, opencl и пр
ШИКАРНЫЙ лектор. хороший курс
говорит быстро. поэтому больше чем в 1.5 не получилось ускорить
YouTube
Параллельное программирование
Share your videos with friends, family, and the world
BufWriter<Master<'_>>
== курс "Параллельное программирование" https://youtube.com/playlist?list=PLlb7e2G7aSpQCPeKTcVBHJns_JOxrc_fT про многопоточность, многопроцессорность, способы ускорить не толлько разбивая на много потоков, алгоритмы распределенных вычислений, opencl и пр …
== Лекция 1. Введение (курс «Параллельное программирование»)
https://youtu.be/kbERSWTGtKw
___Одно ядро
SIMD - Single Instruction Multi Data
SSE - Streaming SIMD Extensions
- это доп набор регистров 8 128битных регистров для 4 чисел по 32 бит (фп)
___Много ядер
- потоки
- процессы
- вычислительный кластер (MPI, Hadoop, spark)
- *fibers
последовательный код - тот который НЕВОЗМОЖНО распараллелить = работают с ним ГАРАНТИРОВАННО в одном потоке
единица планирования в ОС это один поток
IPC - interprocess communication
- file
- mmap
- pipe
- socket
socket - дексриптор в ОС (число) и работают в ОС как с файлом, как будто через сеть
критерий (много процессов или много потоков)
- быстродействие
- защищенность памяти процесса
- надежность
- поддерживаемость
TLB - translation localside buffer - кэш соответствия виртуализации mem
boost - абстракция над Win/Posix Threads
demon поток аппа ждать не будет
https://youtu.be/kbERSWTGtKw
___Одно ядро
SIMD - Single Instruction Multi Data
SSE - Streaming SIMD Extensions
- это доп набор регистров 8 128битных регистров для 4 чисел по 32 бит (фп)
___Много ядер
- потоки
- процессы
- вычислительный кластер (MPI, Hadoop, spark)
- *fibers
последовательный код - тот который НЕВОЗМОЖНО распараллелить = работают с ним ГАРАНТИРОВАННО в одном потоке
единица планирования в ОС это один поток
IPC - interprocess communication
- file
- mmap
- pipe
- socket
socket - дексриптор в ОС (число) и работают в ОС как с файлом, как будто через сеть
критерий (много процессов или много потоков)
- быстродействие
- защищенность памяти процесса
- надежность
- поддерживаемость
TLB - translation localside buffer - кэш соответствия виртуализации mem
boost - абстракция над Win/Posix Threads
demon поток аппа ждать не будет
== Лекция 2. Корректная работа с потоками
https://youtu.be/qA5XLTxmsP0
join ждет когда завершится тот поток который передали
что бы остановить поток раньше - послать сигнал ему
NPTL - Native Posix Threads Library
user-space переходит kernel-space для того что бы спланировать/управлять новый поток (потоками заведует ОС, ОС имеет защищенную модель памяти, владеет единолично этими данными) - стараться избегать переходов
поток проверяет у себя
любой syscall может завершить поток
каждый вызов test_cacnel совершает переход в кернел = медленно!
НО можно сказать что он не хочет быть завершен ! есть флаг
https://youtu.be/qA5XLTxmsP0
join ждет когда завершится тот поток который передали
что бы остановить поток раньше - послать сигнал ему
NPTL - Native Posix Threads Library
ps покажет процессыps -m еще покажет и потокиuser-space переходит kernel-space для того что бы спланировать/управлять новый поток (потоками заведует ОС, ОС имеет защищенную модель памяти, владеет единолично этими данными) - стараться избегать переходов
pthread_cancel просто устанавливает флаг IS_CANCELED этот флаг доступен внутри потока. сам код может решить что делать дальше. точное время завершения мы указать не можем.поток проверяет у себя
pthread_test_cancel() и если флаг выставлен то поток завершится. pthread_cleanup_push(*f)
pthread_test_cancel()
pthread_cleanup_pop(*f)
- формирование стэка функций для корректного завершения потока (освободить ресурсы например). если был вызван pthread_test_cancel
cancelation_point - может завершить текущий поток, договоренностьлюбой syscall может завершить поток
каждый вызов test_cacnel совершает переход в кернел = медленно!
НО можно сказать что он не хочет быть завершен ! есть флаг
YouTube
Лекция 2. Корректная работа с потоками
https://compscicenter.ru/
– Механизм запуска потока
– Корректное завершение потоков:
cancellation points (примеры кода в glibc)
interrupted exception
– Сравнение различных потоков (POSIX, boost/С++11, java)
– Проброс исключений между потоками
Лекция…
– Механизм запуска потока
– Корректное завершение потоков:
cancellation points (примеры кода в glibc)
interrupted exception
– Сравнение различных потоков (POSIX, boost/С++11, java)
– Проброс исключений между потоками
Лекция…
== Лекция 3. Примитивы синхронизации
https://youtu.be/kNWSciQtHEc
MUTEX - mutual exclusion - взаимное исключение
recursive_mutex
+ можно захватить в рамках одного потока НЕСКОЛЬКО раз (в обычном только один раз)
timed_mutex
+ захватить с ограничением по временем (типа если не удалось захватить на 10мс то не очень то и хотелось)
shared_mutex
+ захват на чтение
+ захват на чтение с возмоностью дозахвата на запись
spin_mutex
+ активное ожидание в захвате => НЕ ПРОВАЛИВАЕТСЯ В КЕРНЕЛ = бесконечный цикл в одном потоке
+ меньше вероятность блокировки при мелких операциях
CAS - Compare-and-set - compare-and-swap
и сравнивает и пытается записать если успешно. АТОМАРНА НА УРОВНЕ ПРОЦЕССОРА и возвращает успех (x86
два потока войдут в одно место НО ТОЛЬКО ОДИН сможет выполнить CAS операцию и получит там успех. поэтому второй пойдет на повторный цикл
Futex - fast userspace muTexes
Те операции которые могут быть в юзерспейсе - идут в юзерспейсе, а если не могут быть - проваливаются в кернел.
(тоже реализованы на CAS)
https://youtu.be/kNWSciQtHEc
MUTEX - mutual exclusion - взаимное исключение
pthread_mutex_* ВСЕГДА переводит в кернел = МЕДЛЕННО !recursive_mutex
+ можно захватить в рамках одного потока НЕСКОЛЬКО раз (в обычном только один раз)
timed_mutex
+ захватить с ограничением по временем (типа если не удалось захватить на 10мс то не очень то и хотелось)
shared_mutex
+ захват на чтение
+ захват на чтение с возмоностью дозахвата на запись
spin_mutex
+ активное ожидание в захвате => НЕ ПРОВАЛИВАЕТСЯ В КЕРНЕЛ = бесконечный цикл в одном потоке
atomic_cas
оч полезно когда работаешь с примитивами+ меньше вероятность блокировки при мелких операциях
CAS - Compare-and-set - compare-and-swap
и сравнивает и пытается записать если успешно. АТОМАРНА НА УРОВНЕ ПРОЦЕССОРА и возвращает успех (x86
cmpxchg)два потока войдут в одно место НО ТОЛЬКО ОДИН сможет выполнить CAS операцию и получит там успех. поэтому второй пойдет на повторный цикл
Futex - fast userspace muTexes
Те операции которые могут быть в юзерспейсе - идут в юзерспейсе, а если не могут быть - проваливаются в кернел.
(тоже реализованы на CAS)
YouTube
Лекция 3. Примитивы синхронизации
https://compscicenter.ru/
Необходимость синхронизации: простые гонки данных
Реализация примитивов синхронизации: алгоритм булочника
Виды мьютексов:
рекурсивные/нерекурсивные
read/write
spin
futex
CAS-операции и атомики
Лекция №3…
Необходимость синхронизации: простые гонки данных
Реализация примитивов синхронизации: алгоритм булочника
Виды мьютексов:
рекурсивные/нерекурсивные
read/write
spin
futex
CAS-операции и атомики
Лекция №3…
== Лекция 4. Condition variables. Алгоритмы синхронизации
https://youtu.be/79d5WI5RTp8
лениризуемость программы - это код который может дать одни и те же результаты при последовательном так и при паралелльном исполнении
https://youtu.be/79d5WI5RTp8
лениризуемость программы - это код который может дать одни и те же результаты при последовательном так и при паралелльном исполнении
YouTube
Лекция 4. Condition variables. Алгоритмы синхронизации
https://compscicenter.ru/
Condition variables:
Пример на POSIX
Пример на Java
Алгоритмы синхронизации:
Грубая
Тонкая
Лекция №4 в курсе "Параллельное программирование", весна 2016
Преподаватель курса: Евгений Леонидович Калишенко
Страница…
Condition variables:
Пример на POSIX
Пример на Java
Алгоритмы синхронизации:
Грубая
Тонкая
Лекция №4 в курсе "Параллельное программирование", весна 2016
Преподаватель курса: Евгений Леонидович Калишенко
Страница…
Forwarded from Записки админа
🔧 А вы знали, что в authorized_keys файле можно указывать не только сам ключ, но и дополнительные команды, или ограничения? Чуть подробнее об этом вот здесь: https://twitter.com/cyb3rops/status/1395009709787258882
А вообще, увидел я это в очередном, казалось бы, очевидном мануале по усилению безопасности SSH: https://blog.zsec.uk/locking-down-ssh-the-right-way/
#ssh #security #напочитать
А вообще, увидел я это в очередном, казалось бы, очевидном мануале по усилению безопасности SSH: https://blog.zsec.uk/locking-down-ssh-the-right-way/
#ssh #security #напочитать
Forwarded from oleg_log (Oleg Kovalov)
Ого какую вещь я не замечал.
Easy and simple Prometheus SLO (service level objectives) generator
https://github.com/slok/sloth
Easy and simple Prometheus SLO (service level objectives) generator
https://github.com/slok/sloth
== Лекция 5. Алгоритмы синхронизации
https://youtu.be/7aabRlVERPc
lock-free - гарантируется что ни один поток не будет заблокирован
wait-free - это lock-free + гарантируется за сколько шагов завершится
мы должны гарантировать иммутабельность структуры для CAS, что бы работать с числами большими чем одно машинное слово, передавая указатель на замену в CAS
https://youtu.be/7aabRlVERPc
lock-free - гарантируется что ни один поток не будет заблокирован
wait-free - это lock-free + гарантируется за сколько шагов завершится
мы должны гарантировать иммутабельность структуры для CAS, что бы работать с числами большими чем одно машинное слово, передавая указатель на замену в CAS
YouTube
Лекция 5. Алгоритмы синхронизации
https://compscicenter.ru/
Алгоритмы синхронизации:
– Оптимистичная
– Ленивая
– Неблокирующая
Классы алгоритмов:
– lock-free
– wait-free
– lock-free алгоритм снятия снэпшота атомарных регистров
Лекция №5 в курсе "Параллельное программирование"…
Алгоритмы синхронизации:
– Оптимистичная
– Ленивая
– Неблокирующая
Классы алгоритмов:
– lock-free
– wait-free
– lock-free алгоритм снятия снэпшота атомарных регистров
Лекция №5 в курсе "Параллельное программирование"…
== Лекция 6. Ошибки || программирования
https://youtu.be/2A3Q0dA6Tlc
1) dead lock
- перекрестный лок ресурсов = захватывать ресурсы глобально на уровне приложения
- использование не рекурсивного примитива синхронизации в одном потоке
- форк может скопировать и примитив синхронизации и форк будет ждать вечно ->
2) data race
в ФП они 99.999% невозможны
3) ABA' - подмена незаметная для других (буферизация, кэширование, аллокаторы)
4) потерянный сигнал (послали SIG но обработчик еще не поставили). надо выставлять SIG_MASK показывая явно что этот поток не реагирует на сигнал.
5) инверсия приорететов - когда низкоприорететный поток захватил лок и не успел с ним поработать. заблокировав этим более приорететные потоки. в результате работает тот кто посредине... а до малоприорететного может и не дойти очередь и самый приорететный может никогда не отблокироваться этим самым.
https://youtu.be/2A3Q0dA6Tlc
1) dead lock
- перекрестный лок ресурсов = захватывать ресурсы глобально на уровне приложения
- использование не рекурсивного примитива синхронизации в одном потоке
- форк может скопировать и примитив синхронизации и форк будет ждать вечно ->
pthread_at_fork()
fork делает COW относительно родительского, ну мол нафига копировать все ? давай скопируем только то что меняет родитель или собирается менять2) data race
в ФП они 99.999% невозможны
3) ABA' - подмена незаметная для других (буферизация, кэширование, аллокаторы)
4) потерянный сигнал (послали SIG но обработчик еще не поставили). надо выставлять SIG_MASK показывая явно что этот поток не реагирует на сигнал.
5) инверсия приорететов - когда низкоприорететный поток захватил лок и не успел с ним поработать. заблокировав этим более приорететные потоки. в результате работает тот кто посредине... а до малоприорететного может и не дойти очередь и самый приорететный может никогда не отблокироваться этим самым.
YouTube
Лекция 6. Ошибки || программирования
https://compscicenter.ru/
Основные ошибки многопоточного программирования:
– Гонки данных (Data Race)
– Взаимная блокировка (Deadlock)
– Потерянный сигнал
Специфические ошибки:
– Реакция потока на сигнал
– Блокировки при fork многопоточных…
Основные ошибки многопоточного программирования:
– Гонки данных (Data Race)
– Взаимная блокировка (Deadlock)
– Потерянный сигнал
Специфические ошибки:
– Реакция потока на сигнал
– Блокировки при fork многопоточных…
== Лекция 7. Атомарные снимки регистров
https://youtu.be/oq6krtEvCLA
обьяснение лайтовой версии алгоритма "MVCC" (который используется в любой нормальной БД)
https://youtu.be/oq6krtEvCLA
обьяснение лайтовой версии алгоритма "MVCC" (который используется в любой нормальной БД)
YouTube
Лекция 7. Атомарные снимки регистров
https://compscicenter.ru/
Wait-free атомарный снимок регистров
Решение проблемы ABA на tagged pointers
Лекция №7 в курсе "Параллельное программирование", весна 2016
Преподаватель курса: Евгений Леонидович Калишенко
Страница лекции на сайте CS центра: …
Wait-free атомарный снимок регистров
Решение проблемы ABA на tagged pointers
Лекция №7 в курсе "Параллельное программирование", весна 2016
Преподаватель курса: Евгений Леонидович Калишенко
Страница лекции на сайте CS центра: …