Гость Опубликовано 25 января, 2002 Жалоба Поделиться Опубликовано 25 января, 2002 Помогите pls кто чем может. Или хоть ссылку дайте. Есть такая проблема. Программа состоит из 2-х субжевых потоков. Один поток делает поллинг по регистрам pci-карты и засыпает на N миллисекунд (чтобы дать другим процессам поработать). Другой процесс полностью независим от первого, никаких там семафоров или критических секций общих нету. Тем не менее, при увеличении N скорость работы второго процесса пропорционально уменьшается, несмотря на ожидаемую обратную реакцию. Пробовал разные функции, например, select, usleep, nanosleep, родные средства вроде pthread_cond_timedwait - ничего не помогает. Кто нибудь знает как в linuxthreads усыпить один из потоков, не тронув другие? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 27 января, 2002 Жалоба Поделиться Опубликовано 27 января, 2002 verno sleep(), usleep() usiplyayut ves' process. voobsche po standartu polozeno pthread_delay_np(). v linux threads kazetsya etogo net. pthread_cond_timewait() -- eto horosho, tol'ko nado opisat' sobitie:) podozdi pozaluista to ponedel'nika, doberus' do raboti i podrobno napishu. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 28 января, 2002 Жалоба Поделиться Опубликовано 28 января, 2002 если потоки не зависимы друг от друга, то почему-бы fork-ом не воспользоваться? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.