|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2019, 11:49 | #1 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Многопоточность Qt
Решил я разобраться с многопоточностью QT. И тут такая проблема с логами. У меня есть куча модулей в каждом подключаю #include <mylog.h>
Проблема в том что оно вылетает. Стал разбираться выяснил что QT на каждый такой include создаёт свой *.obj файл. В результате QMutex в каждом модуле свой и как следствие не работает. Решено было сделать класс class mylog : public QTextStream синглтоном и в него занести мьютекс. 2. Вначале хотел использовать Q_GLOBAL_STATIC_WITH_ARGS() но он на каждый поток создаёт свой объект. Решено было использовать общую память. Код:
В Delphi я бы сделал self:=shmem.data(); Но тут с++ А он не даёт подменить указатель this=shmem.data(); Городить синглтон не стал, ограничился указателем на мьютекс. Код:
Код:
Код:
Как вы думаете увеличение числа потоков приведёт к ускорение вылетов?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многопоточность | oksanavol | Помощь студентам | 0 | 14.06.2017 14:44 |
WPF и многопоточность | Selestis | WPF, UWP, WinRT, XAML | 2 | 26.05.2012 22:14 |
Многопоточность | lalilulelo | Операционные системы общие вопросы | 20 | 16.04.2012 19:33 |
Многопоточность | t2skler | Общие вопросы C/C++ | 4 | 16.04.2012 14:24 |
многопоточность | losbl9 | Компоненты Delphi | 2 | 16.01.2012 23:16 |