RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Вопрос по Си (нитки)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : joseph
To : Igor Saveliev
Subj : Вопрос по Си (нитки)

> > Для использования C-библиотек в MultiThread'инге надо эти самые библиотеки об этом самом мультитрединге регулярно извещать, дабы они делали всё реентерабельно.
>
> А параметр /Gm+ в ICC разве не извещает о малтитрединге?
извещает

>
> > Для этого все DosCreateThread надо позаменять на beginthread (или _beginthread, кажись это от компилера зависит). Ну либо отказаться от большинства C-функций.
>
> Мне казалось, что POSIX-вызовы, типа beginthread & Co, реализуются через стандартное API (В данном случае через DosCreateThread). Или я ошибаюсь?
Нет
Я всегда пользуюсь DosCreateThread
в твоем случае была примитивная ошибка асинхронности нитка стартовала (на это ресурс времени нужен), а параметр i в цикле уже успел поменяться. Это лечится только повышенным вниманием, а вовсе не сменой вызовов и прочими припарками


Mon 03 Dec 2001 18:39 Mozilla/4.61 [en] (OS/2; U)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.