en
Feedback
Библиотека задач по C++ | тесты, код, задания

Библиотека задач по C++ | тесты, код, задания

Open in Telegram

Задачи и тесты по C++ для тренировки и обучения. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7a480301 Для обратной связи: @proglibrary_feeedback_bot

Show more
5 456
Subscribers
-324 hours
-97 days
-5330 days
Posts Archive
Зачем pool объявлен static, если это transient-аллокация?
Anonymous voting

Что произойдёт при выполнении этого кода?
Anonymous voting

Что выведет программа?
Anonymous voting

Что выведет программа?
Anonymous voting

Что выведет программа?
Anonymous voting

‼️ Задача на выходные: lock_guard Проведи ревью кода и найди проблему (если она есть😉).
#include <mutex>
#include <thread>
#include <vector>
#include <iostream>

std::mutex mtx;
std::vector<int> data;

void producer() {
    for (int i = 0; i < 100; ++i) {
        std::lock_guard<std::mutex> lock(mtx);
        data.push_back(i);
    }
}

void consumer() {
    while (true) {
        std::lock_guard<std::mutex> lock(mtx);
        if (data.empty()) {
            // Ждём данные...
            std::this_thread::sleep_for(
                std::chrono::milliseconds(10));
            continue;
        }
        std::cout << data.back() << "\n";
        data.pop_back();
    }
}
Вопрос: что не так с consumer()? Почему lock_guard здесь — плохой выбор и как это исправить? 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #междусобойчик

‼️ Задача на выходные: lock_guard Проведи ревью кода и найди проблему (ели она конечно есть😉).
#include <mutex>
#include <thread>
#include <vector>
#include <iostream>

std::mutex mtx;
std::vector<int> data;

void producer() {
    for (int i = 0; i < 100; ++i) {
        std::lock_guard<std::mutex> lock(mtx);
        data.push_back(i);
    }
}

void consumer() {
    while (true) {
        std::lock_guard<std::mutex> lock(mtx);
        if (data.empty()) {
            // Ждём данные...
            std::this_thread::sleep_for(
                std::chrono::milliseconds(10));
            continue;
        }
        std::cout << data.back() << "\n";
        data.pop_back();
    }
}
Вопрос: что не так с consumer()? Почему lock_guard здесь — плохой выбор и как это исправить? 📍Навигация: ВакансииЗадачиСобесы Библиотека C/C++ разработчика #междусобойчик

Зачем это нужно?
Anonymous voting

Что вернёт код?
Anonymous voting

Что верно о __restrict__?
Anonymous voting

Гарантированно ли aligned == true?
Anonymous voting