Russian Qt Forum
Ноябрь 22, 2024, 22:58
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
Одна и таже библиотека в разных потоках
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Одна и таже библиотека в разных потоках (Прочитано 4781 раз)
mega_m
Гость
Одна и таже библиотека в разных потоках
«
:
Декабрь 22, 2006, 23:19 »
Можно делать так ?
thread 1: loadLib(a.so)
и параллельно в другом потоке подгружать одну и туже либу
thread 2: loadLib(a.so)
или использовать Mutex для этих дел и загружать её один раз.
Записан
Вячеслав
Гость
Одна и таже библиотека в разных потоках
«
Ответ #1 :
Декабрь 22, 2006, 23:54 »
Насколько я помню, so грузиться только один раз на уровне системы ... Но пингвина под рукой нет - проверить не могу ... Но воспоминания отчетливые
Записан
mega_m
Гость
Одна и таже библиотека в разных потоках
«
Ответ #2 :
Декабрь 23, 2006, 00:07 »
собственно нужен не только линукс. в ассистенте вроде ничего нет по этому поводу
>Насколько я помню, so грузиться только один раз на уровне системы
Вот этот вопрос и волнует сама система будет разруливать мои обращения к библиотеке из
разных потоков?
по большому счету нужен только вызов функции
typedef void (*MyPrototype)();
MyPrototype myFunction =
(MyPrototype) QLibrary::resolve("mylib", "mysymbol");
if (myFunction)
myFunction();
Записан
Dendy
Гость
Одна и таже библиотека в разных потоках
«
Ответ #3 :
Декабрь 23, 2006, 01:12 »
Идём в документацию по
QLibrary
и видим:
Note: All the functions in this class are reentrant.
Другими словами: Да, можно создавать екземпляр
QLibrary
в другом потоке и резолвить из него функции. Если такая библиотека уже бьІла загружена, её ресурсьІ становятся разделяемьІми.
Записан
mega_m
Гость
Одна и таже библиотека в разных потоках
«
Ответ #4 :
Декабрь 23, 2006, 15:39 »
Спасибо. Если бы все с такими золотыми подсказками было бы !
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...