
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.01.2006, 13:19
|
|||
|---|---|---|---|
|
|||
COM и многопоточность |
|||
|
#18+
Здравствуйте! У меня проблема. Есть COM-класс, в котором существует метод, допустим, производящий вычисления. Предположим, есть два потока. В каждом из них, я создаю экземпляр класса. Упрощенная версия кода: Код: plaintext 1. 2. 3. 4. 5. Мне нужно, чтобы метод выполнялся паралельно в двух потоках. Но реально, этот метод выполняется не за счет созданного мной потока, а за счет другого потока (в ProcessExplorer это поток из ole32.dll). Собственно, вопрос: как заставить, выполняться метод псевдопараллельно, чтобы нагрузка равномерно распределялась между двумя потоками?? А сейчас, мои потоки простаивают, а код метода выполняется последовательно в другом потоке, а не параллельно в моих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2006, 13:57
|
|||
|---|---|---|---|
COM и многопоточность |
|||
|
#18+
По умолчанию (посмотри в реестре свой COM), модель COM не многопотоковая, т.е. если разные потоки вызывают одну процедуру в COM, то они становятся в очередь. Поэтому и критические дни, тьфу - секции там не нужны. Сделай COM c многопотоковой моделью-аппартаментом. Хотя проблем огребёшь IMHO. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&tablet=1&tid=2032128]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
144ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 461ms |

| 0 / 0 |
