Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Добрый день! Работаем над мулти-потоковом проэкте. В каждом потоке отдельный конекшин и транзакции. Вопрос, тоже нужно отдельно загрузить и клиент либу и соотвественно отдельные поинты Fisc_attach_database := GetProcAddr('isc_attach_database'); для каждого потока, или одну загрузку хватит для всех? Или LoadLibrary пох сколько раз вызывать, будет тот же инстанс? Does LoadLibrary create distinct instances? В IBX похоже одна загрузка, немного посмотрел исходники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:11 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin MarcociИли LoadLibrary пох сколько раз вызывать, будет тот же инстанс? LoadLibrary первый раз загружает, второй и следующие разы увеличивает счетчик использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:19 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin Marcoci, dll в процесс грузится один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:28 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Кdv, Цadman, спасибо. Ок, грузится, получаем хэндл к либу, и будем иметь общие прок адрессы всех isc_* для всех потоков. Будет это работать реально паралельно если будет вызван isc_attach_database из разных потоков, и дальше запросы с общими прок адрессы? Как бы fbclient сам будет распаралелить выполнение isc_dsql_execute если разные аттачи? Сорри, может глупые вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:37 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin MarcociБудет это работать реально паралельно если будет вызван isc_attach_database из разных потоков Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:46 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Thanks, Wadman! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:48 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin Marcoci Как бы fbclient сам будет распаралелить выполнение isc_dsql_execute если разные аттачи? fbclient ничего не будет распараллеливать, но выполнение операций в коннектах в разных потоках вполне допустимо, и весьма давно. А библиотека 2.5 содержит специальные штуки для блокировки обращений внутри одного коннекта из разных тредов. Т.е. наоборот, в этом случае препятствует попыткам "распараллеливания" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 15:10 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Понял, я чет заблуждался что dll data segment один для всех потоков, так как dll один на весь процесс где потоки крутится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:10 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin Marcociя чет заблуждался что dll data segment один для всех потоков Не заблуждался. Он действительно один. Но при чём тут это? PS: Тяжело будет на таком проекте, когда о многопоточности знаешь только название... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:20 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, пока полет нормальный :) Если успокоили что один поток-коннект все ок с одни и те же прок адреса то все будет ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:29 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin MarcociЕсли успокоили что один поток-коннект все ок с одни и те же прок адреса то все будет ок. А на каком основании у тебя были сомнения? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:43 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
ну... если дата сегмент один, то и перемены те же для каждого процеса и для всех потоков привязанных к нему. и вот у меня возникла мысль что образно в function isc_dsql_execute () { int Bla; .... } переменная Bla может обломатся в многопоточности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 17:14 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin Marcociу меня возникла мысль что образно в function isc_dsql_execute () { int Bla; .... } переменная Bla может обломатся в многопоточности. А почему ты думаешь, что локальные переменные процедуры хранятся в сегменте данных? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 17:22 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
неправильно думал, извиняюсь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 17:39 |
|
||
|
fbclient, thread-safe и LoadLibrary
|
|||
|---|---|---|---|
|
#18+
Dorin Marcoci, На клиентской стороне нужно было сериализовать вызовы connect/disconnect. После получение хэндла вроде как все было хорошо. В фибах сделали отдельный семафор, потом вроде как уже в 2.5 сделали семафор внутри fbclient. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:22 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1562874]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 273ms |
| total: | 546ms |

| 0 / 0 |
