Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Thanx 21.05.01 07:37 Число просмотров: 746
Автор: я Статус: Незарегистрированный пользователь
|
> Ну во-первыхникогдане вызывай из VC++ CreateThread, а > вызывай _beginthreadex (в других языках ищи аналог (кроме > асма, конечно:)).
MSDN врет или у Рихтера заскок(?)
MSDN: A thread that uses functions from the C run-time libraries should use the beginthread and endthread C run-time functions for thread management rather than CreateThread and ExitThread. Failure to do so results insmall_memory_leaks_when_ExitThread_is_called
> Во-вторых, если у тебя несколько потоков, то не > устанавливай переключатель на однопоточные либы - это >неправильно ибо они написаны дляоднопоточного > приложения. > > Далее: я вижу уже написали, но повторю: в многопоточной > рантайм библиотеке srand инициализирует переменную только > своего потока, потому одинаковые числа и выводило. Так что > srandнужновызывать в каждом потоке. Причём иного пути, > как мне кажется, нет, и быть не может. > > Вообще-то комбинируя неправильные действия (например, как у > тебя: выбрав однопоточное приложение) можно добиться > правильного внешнего результата, но это не правильно и > обязательно скажется потом. > > И последнее: купи книгу Рихтера и не мучайся - там всё это > описано.
У меня третье издание. Пример bucket.c: srand вообще не вызывается(?)
Всем спасибо. Что-то и раньше мне подсказывало не использовать стандартные библиотеки :)
|
|
|