|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dmitry Simakov 2:5020/400 03 Feb 2002 23:03:33 To : "Oleg Yurchenco" Subject : Re: pthread -------------------------------------------------------------------------------- Hello, Oleg! On Сбт, 02 Фев 2002 в 09:18 GMT you wrote: > Момогите новичку в программировании под Linux/Unix. > > Вопросы: > 1. Почему такая бедная пооддержка pthread. Есть ли функции - аналоги > SuspendThread, AbortThread (ткните в RTFM плз.) man pthread_cancel > 2. Соответсвует ли применение thread - ов духу программирования под > Linux/Unix. М.б. то что я раньше делал под Win32 с thread здесь нужно делать > с помощью fork() ? В принципе - соответствует. Hо в некоторых системах треды реализованы через очень неправильные места.. например, во freebsd они вообще через alarm() сделаны - оверхид от таких тредов больше, чем выгода от использования общей памяти.. В fork() тоже нет ничего плохого. Для общей памяти в этом случае есть shared memory в IPC, а оверхид на создание процесса в линуксе абсолютно такой же, как и на создание треда - из-за использования механизма copy-on-write.. > 3. Что нужно вызывать при работе pthread , что бы разгрузить процессор > (sleep, usleep ?). usleep, если он есть. Если нету - тогда select(). > Когда сделал программку с сотней threadов, каждый из > которых только инкрементировал счетчик, система жутко тормозила. Проблема тут не в тредах, а в диспетчере процессов. Даже на очень хороших машинах начиная с некоторого количествао процессов наблюдает "погружение в себя" менеджера.. он начинает беспощадно жрать процессор. Вроде бы эту проблему сумели кардинально изменить в ядрах 2.5.x > PS. > Кстати вариант с подвешиванием виндов (делаю thread, который сам создает > thread и т.п.) прошел у меня и под linuxом. (Правда всетаки система > среагировала на Alt-Ctrl-Del и перезагрузилась, под виндами как правило > нужно давить сброс). Виндам, как правило, достаточно недели, чтобы упасть на ровном месте и без помощи всяких левых программок и ловких трюков. :) -- Best Regards, Dmitry Simakov <mailto:ds@uriit.ru.n0sp@m> ICQ UIN: 72496293 --- ifmail v.2.15dev5 * Origin: Ugra Research Institute of Information Technologies (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/21697d06610ab.html, оценка из 5, голосов 10
|