Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Метаданные Здравствуйте, задали создать программу на с++ которая будет показывать метаданные обычного текстового ворд документа, но проблема в том, что у меня не так много опыта по программированию, можете помочь или посоветовать что нужно почитать, чтобы решить эту проблему? https://www.cyberforum.ru/ c-cpp/ thread3082662.html C/C++ Проблема с выводом информации с fwrite
Задача заключалась в том, чтобы из бинарного файла прочитать информацию. 00000101 00000000 00000000 00000000 11001000 11100010 11100000 11101101 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11001000 11100010 11100000 11101101 11101110 11100010 00000000 00000000 00000000 00000000 00000000...
C/C++ Директивы препроцессора Задача следующая при вычислении переменных в программе, дальше они проверяются. Но в зависимости от параметров, границы могут варьироваться. Собственно, чтобы не плодить внутри кода проверки через условия, я хотел бы перенести их в заголовок и определить с помощью препроцессора. Как лучше это сделать, можно на примере показать. https://www.cyberforum.ru/ c-cpp/ thread3081078.html C/C++ Третья ошибка в c++ Visual Studio Здравствуйте, пытался я установить библиотеку freeimage и тут понял что понятия не имею как её установить. в туторах написано типо сделай такую то строчку кода и путь к файлу библиотеки, но оно не работает. Если что мне надо для нижеприведённого кода, так что мне хотелось бы узнать и о том правильно ли написан код и о том как всё таки установить библиотеку. #include <iostream> #include... https://www.cyberforum.ru/ c-cpp/ thread3079312.html
Вторая ошибка в visual studio (c++) C/C++
Здравствуйте. Вон такая ошибка: "выражение должно быть допустимым для изменения левосторонним значением" Вот в таком коде: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <math.h> #include <iomanip> #include <locale> using namespace std;
C/C++ Ошибка в visual studio Здравствуйте, памагите с ошибкой в коде. "Необработанное исключение по адресу 0x00007FFCA3D87A20 (ucrtbased.dll) в нейросеть.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000000000000001." #include <iostream> #include <math.h> #include <iomanip> using namespace std; int main() { float m, mm, sm, km; https://www.cyberforum.ru/ c-cpp/ thread3078946.html
C/C++ Практическая работа Помогите, пожалуйста написать код по следующему заданию: Создать файл вещественных чисел, который содержит матрицу А размерности n * m (m - четное число). Не считывая матрицу в память, реорганизовать файл путем перестановки столбцов: первого со вторым, третьего с четвертым и т.д. Вывести на печать исходную и полученную матрицы. Оформить нужно в виде функций и с комментариями что делают... https://www.cyberforum.ru/ c-cpp/ thread3078816.html Лабораторная работа C/C++
Помогите пожалуйста с заданием: Создайте программу, проверяющую являются ли два человека o сестрами; o братьями; o дедушкой и внуком (внучкой); o дядей и племянником (племянницей); o супругами; o родственниками.
C/C++ Как узнать количество физических ядер https://www.cyberforum.ru/ c-cpp/ thread3073553.html
Как узнать количество физических ядер процессора
C/C++ Задача с acmp Короли прошлого создали великую империю, в которой было N городов, и соединили их M двусторонними дорогами таким образом, что между любыми двумя городами существует путь, возможно через другие города. Одну и ту же пару городов может соединять несколько дорог, также дороги могут выходить и входить в один и тот же город. Со временем K городов усилились и возвысились над остальными, между ними... https://www.cyberforum.ru/ c-cpp/ thread3072646.html
C/C++ подскажите с выводом данных по задаче
решаю задачу с таковым условием: "Даны вещественные числа a, b, c, d, e, f. Решите систему линейных уравнений #include <iostream> #include <string> using namespace std; int main() { int a, b, c, d, e, f; double x, y; cin >> a >> b >> c >> d >> e >> f; x = (e*d - b*f) / (d*a - b*c);
C/C++ Ошибки в фрагменте кода (синтаксис и логика) double am, bm, cm; int nn = 3; double s1, s2, s3, s4; s1 = 10.; s2 = 20.; s3 = 1., s4 = 5.; for (int i = 0; i < nn; i++) { for (int j = 0; j < nn; j++) am = s1 for (int i = 0; i < nn; i++) bm = s3 an = s2; https://www.cyberforum.ru/ c-cpp/ thread3072134.html
0 / 0 / 0
Регистрация: 27.02.2023
Сообщений: 11
27.02.2023, 05:52  [ТС] 0

Проблема с синхронизацией потоков Pthread - C/C++ - Ответ 16775999

27.02.2023, 05:52. Показов 577. Ответов 2
Метки (Все метки)

Ответ

Вывел инициализацию семафоров в отдельные функции
C
1
2
3
4
void main_panel_init() {
    sem_init(&main_panel_acs_work, 0, 0);
    sem_init(&main_panel_acs_wait, 0, 0);
}
А также написал отдельную функцию инициализации, еще до вызова потока ядра:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Функция запуска симуляции
void OTCA_INIT_SIM_START() {
    //Установка переменной управления потоком
    OTCA_INIT_SIM_RUN = 1;
    //Установка переменной периода симуляции
    OTCA_INIT_SIM_PERIOD = 0.02;
    //Инициализация компонентов
    OTCA_INIT_PROP_COMP();
    //Инициализация семафоров
    time_logic_init();
    main_panel_init();
    //Запуск потока core
    pthread_create(&core_thread, NULL, OTCA_CORE_SIM, (void *) &OTCA_CORE_DATA);
}
Результат порадовал, симуляция пошла, вывод такой:
### Sim Cycle Started ###

Time logic Passed
Time logic data = 1
-- Sim Systems Run --
ACS Logic Passed
ACS data = 2
HAPPY WORK = 2

### Sim Cycle Passed ###


Со всеми системами вывод такой:
Time logic Passed
Time logic data = 1
ACS Logic Passed
ACS data = 2
Clock24 Logic Passed
Clock24 data = 3
SVS Logic Passed
SVS data = 4
-- Sim Systems Run --
Termo Logic Passed
Termo data = 5
EUP53 Logic Passed
UAP14 Logic Passed
Mach meters Logic Passed
UVID-15FK Logic Passed
Mech Aneroid Logic Passed
UAP14 data = 7
HAPPY WORK = 10
UVID-15FK data = 9
HAPPY WORK = 10
EUP53 data = 6
HAPPY WORK = 10
Mach meters data = 8
HAPPY WORK = 10
Mech_aneroid data = 10
HAPPY WORK = 10


Ну тут понятно, что раскомментировать мьютексы надо, что я уже сделал, теперь все работает как часики, спасибо)

Вернуться к обсуждению:
Проблема с синхронизацией потоков Pthread C/C++
0
Заказать работу у эксперта
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2023, 05:52
Готовые ответы и решения:

Проблема с синхронизацией процессов
Здравствуйте, форумчане. Пишу небольшой клиент-сервер с таким заданием: клиент посылает число,...

Синхронизацией потоков посредством семафоров
Приветствую. Пишу многопоточное приложение с синхронизацией потоков посредством семафоров. Почему...

Проблема с вертикальной синхронизацией
Добрый день, подскажите, пожалуйста. При динамичном движении в играх/видео у меня режется линия...

Photon проблема с синхронизацией
Проблема вот в чем) Игра в 3d. Все в общем хорошо кроме одного но. При подключении игроков на сцену...

2
27.02.2023, 05:52
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2023, 05:52
Помогаю со студенческими работами здесь

Проблема с синхронизацией объектов
Доброго дня, возникла проблема с network transform а точнее с синхронизацией объектов. У меня есть...

Проблема с вертикальной синхронизацией
Всем привет, столкнулся с такой проблемой. Построил проект, все работает, картинка в 60 фпс,...

проблема с синхронизацией Lotus Traveler
День добрый! Такая проблемка возникла: Существует две учетные записи, ссылающиеся на однин...

STM32F429 + LTDC+ VGA - проблема с синхронизацией.
Купил отладочную плату Core429I (на ней установлены STM32F429IGT6 и SDROM IS42S16400J). Изготовил...

проблема с синхронизацией звука через MIDI-клавиатуру
Прикупила я, значит, клавиши (MIDI-клавиатура) - 7 октав, контроллеров немерено и прочие...

Проблема с синхронизацией многопоточной реализации алгоритма Карацубы для перемножения длинных полиномов
Добрый день, пишу лабораторную работу по параллельному программированию. Реализовал сам алгоритм...

Синхронизация потоков: проблема гонки потоков
Есть проблема в синхронизации потоков, которую я не знаю, как решить. Точнее у меня получается...

0
Новые блоги и статьи
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru