Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
MasterZivтот, который на выходе зовёт ExitProcess Ну так это если этот первый среди равный ещё вызовет ExitProcess(), чего совершенно не обязан делать... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2013, 18:51 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А как ты думаешь, по выходу из main что происходит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2013, 20:36 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
MasterZivпо выходу из main что происходит ? У стандартного кода инициализации МSVC - да, вызов ExitProcess. Но это чисто проблемы данного инициализатора. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2013, 21:27 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
Дима, ты конечно все правильно говоришь, только есть одно "но": какой-то поток из многих потоков приложения должен завершить процесс. И обычно это делает тот поток, с которого процесс и начался, выполнением точки входа в приложение. По-моему все очень логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 00:54 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
MasterZivкакой-то поток из многих потоков приложения должен завершить процесс Процесс и сам по себе завершится, когда в нём не останется ни одного потока. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 02:00 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
MasterZivНе очень. Как правило, родительский поток (главный) не может завершиться прежде, чем все дочерние завершатся. Иначе приложение закроется, а дочерние потоки будут убиты. Если они ещё работали, их работа останется недолеланной. Как правило (в 99% слочаев) в приложениях сохраняют все хендлы дочерних потоков и на выходе из приложения дожидаются их окончания с помощью WaitForXXXX. Закрытие или не закрытие хэндла потока, возвращенного CreateThread, не влияет на завершение процесса. Влияет только на уничтожение thread object, т.е. системной структуры, описывающей поток. Он не будет уничтожен после завершения потока пока ВСЕ референсы(т.е. не только хэндл, возвращенный CreateThread, а и дубликаты, если они были) на хэндл потока не будут закрыты CloseHandle. Иначе нельзя было бы получить например код завершения потока, после того как поток завершился. Поэтому закрытие хэндла потока после его получения, просто дает системе возможность удалить thread object сразу же после завершения потока. И так делать не только можно, но и нужно, если хэндл потока не будет использоваться позже. Ну а не закрытие хэндла потока соответственно вызывает утечку памяти. Дмитрий77, я думаю вам еще нужно знать, что создание потока с помощью CreateThread на 100% безопасно только если не используется CRT и библиотеки, использующие CRT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 10:48 |
|
||
|
Как передать строковый параметр в CreateThread?
|
|||
|---|---|---|---|
|
#18+
_Прохожий_Дмитрий77, я думаю вам еще нужно знать, что создание потока с помощью CreateThread на 100% безопасно только если не используется CRT и библиотеки, использующие CRT. исходное С++ приложение (без моих наворотов) - чисто консольное и платформенно-независимое (т.е. годится и под линукс, и т.д.), я туда добавил в частности CreateWindow - окно вида HWND_MESSAGE для ловли сообщений из вне Не похоже что там будут проблемы из-за потоков. А вот любые попытки использовать CreateThread в VB6 например (нарочно попытался воспроизвести в VB6 подобное) - это ДА - сплошные краши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 23:07 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2019951]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 169ms |

| 0 / 0 |
