|
|
|
Поведение CWinThread вынесенный в DLL
|
|||
|---|---|---|---|
|
#18+
Пишу класс наследованый от CWinThread и использую его в своей библиотеке (MFC DLL). Наследник СWinThread - CmyThread Наблюдаю следующие странности 1. Если разместить в конструкторе приложения библиотеки код Код: plaintext 1. 2. 3. на создании потока виснет, поэтому создание потока переношу в экспортируемую библиотекой функцию, там не виснет. Чем это обусловлено? 2. В экспортируемой функции сразу после создания потока, я шлю некое сообщение ему и он его не получает Код: plaintext 1. 2. 3. но если подождать некторое время и повторить послание, то поток его получит. Очевидно он был в процессе создания и просто не успел получить мое сообщение, как определить что поток уже готов к приемке? Какие фукнции ожидания порекомендуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 15:55 |
|
||
|
Поведение CWinThread вынесенный в DLL
|
|||
|---|---|---|---|
|
#18+
dishloПишу класс наследованый от CWinThread и использую его в своей библиотеке (MFC DLL). Наследник СWinThread - CmyThread Наблюдаю следующие странности 1. Если разместить в конструкторе приложения библиотеки код Код: plaintext 1. 2. 3. на создании потока виснет, поэтому создание потока переношу в экспортируемую библиотекой функцию, там не виснет. Видимо вы неправильно конфиругируете сборку этой DLL. ПРочитайте и проверьте макросы AFXDLL и иже с ними. dishlo 2. В экспортируемой функции сразу после создания потока, я шлю некое сообщение ему и он его не получает Код: plaintext 1. 2. 3. но если подождать некторое время и повторить послание, то поток его получит. Очевидно он был в процессе создания и просто не успел получить мое сообщение, как определить что поток уже готов к приемке? WaitForInputIdle Но догадка ваша мне кажется не верна, поскольку вы PostMessage делаете, а это должно помещать сообщение в очередь, и ваш поток его должен получить. Какие фукнции ожидания порекомендуете? Sleep WaitForMultipleObjects WaitForSingleObject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 11:06 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2031965]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
209ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 539ms |

| 0 / 0 |
