Библиотека C/C++ разработчика | cpp, boost, qt
前往频道在 Telegram
Все самое полезное для плюсовика и сишника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d6cd2932 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
显示更多2025 年数字统计

19 540
订阅者
-824 小时
-447 天
-17630 天
帖子存档
🔥 Фича: std::scoped_lock (C++17)
Захват нескольких мьютексов вручную рискует deadlock при неправильном порядке.
std::scoped_lock атомарно захватывает несколько мьютексов, избегая взаимоблокировок.
❌ До:
std::lock_guard lock1(mtx1);
std::lock_guard lock2(mtx2); // deadlock риск!
✅ После:
std::scoped_lock lock(mtx1, mtx2); // безопасно
💡 Используете std::scoped_lock в своём коде?
Библиотека C/C++ разработчика
#буст🔥 8❤ 1
🍬 Потоки могут общаться через condition_variable
Чтобы один поток ожидал другого можно воспользоваться condition_variable.
🍴 Пошаговое решение:
1️⃣ Создайте condition_variable и mutex
2️⃣ Поток ждёт через wait()
3️⃣ Другой поток сигналит через notify_one/notify_all
#include <condition_variable>
#include <mutex>
#include <thread>
#include <iostream>
std::mutex mtx;
std::condition_variable cv;
bool ready = false;
void worker() {
std::unique_lock<std::mutex> lock(mtx);
cv.wait(lock, []{ return ready; }); // Ждём сигнала
std::cout << "Worker started!\n";
}
int main() {
std::thread t(worker);
std::this_thread::sleep_for(std::chrono::seconds(1));
{
std::lock_guard<std::mutex> lock(mtx);
ready = true;
}
cv.notify_one(); // Будим поток
t.join();
return 0;
}
❗️ Частая ошибка: Забыть проверять условие в wait()
💡 Совет: Всегда передавайте предикат в wait()
Библиотека C/C++ разработчика
#буст❤ 3👍 2🙏 1
照片不可用在 Telegram 中显示
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом
В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.
В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;
🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября
👉 Записаться на курс
😁 2
🐸 Подборка вакансий для C++-разработчиков за неделю
Техлид в Yandex Network Blockstore (C++) — до 440 000 ₽ Офис (Москва)
Инженер-программист C++ — от 180 000 и до 350 000 ₽ Офис/Гибрид (Москва)
C++ Developer Middle+ / Senior — Удалёнка
Server Programmer (C++) — от 250 000 и до 330 000 ₽ Удалёнка
C++ Developer — от 2500 и до 4000 $ Удалёнка
C++ разработчик (Поиск) — от 250 000 и до 400 000 ₽ Офис (Москва)
Библиотека C/C++ разработчика
👍 3
