|
tnasrevid
|
||||||
ncurses & pthreads02.07.2009, 10:46. Показов 3234. Ответов 3
Метки нет (Все метки)
Здравствуйте!
Пишу программу с использованием ncurses и pthread. Нужно выводить в двух разных окошках работу потоков. Проблема в том, что программа работает нормально только тогда, когда в окно выводит только один поток. Если раскомментировать строки запуска второго потока, программа выводит на терминал "мусор" и вылетает с "Segmentation fault". Копмиляция: gcc prog1.c -D_REENTERANT -I/usr/include/nptl -L/usr/lib/nptl -lncurses -lpthread -o prog1
|
||||||
| 02.07.2009, 10:46 | |
|
Ответы с готовыми решениями:
3
Ncurses & Mouse position query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? error '80020009' Îøèáêà. /lalala/profile.asp, line 28 |
|
14 / 14 / 0
Регистрация: 08.07.2009
Сообщений: 61
|
|
| 08.07.2009, 16:39 | |
|
Наиболее вероятно, что вываливается из-за гонки потоков за доступом к одной и той же незащищенной области памяти. Переменные между потоками должны быть разделяемы. Или в случае однвременного обращения они должны становится в очередь. С pthread я так и не работал, слишком сложно и малофункционально, но в других технологиях OpenMP и MPI так делают.
0
|
|
|
tiger710
|
||||||
| 17.07.2009, 22:50 | ||||||
|
Проверил действительно вылетает при одновременном доступе потоков к глобальным переменным.
Ниже приведен вариант программы с использованием семафоров, sleep в циклах нужен для того что бы текущий поток передавал управление другому потоку иначе он забирает все ресурсы под себя и второй поток ни когда не получит управление. Можно запустить программу и без использования семафора, для этого нужно закоментировать все обращения к семафору и раскоментить sleep между созданиями потоков. В этом случае потоки запускаются с задержкой в 1 секунду и после выполнения шага цикла засыпают на 2 секунды, а из-за смещения при запуске не имеют одновременного доступа к переменным.
|
||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 05.08.2009, 09:14 | |
|
Попробуй использовать pthread_mutex_t, pthread_mutex_lock и pthread_mutex_unlock.Это должно решить проблему.
0
|
|
| 05.08.2009, 09:14 | |
|
Помогаю со студенческими работами здесь
4
Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2 Мультимедиа контролер PCI\VEN_14F1&DEV_8800&SUBSYS_EA3D14F1&REV_05\4&25700A26&0&3020 немогу найти драйвера на PCI\VEN_1039&DEV_7012&SUBSYS_810D1043&REV_A0\3&61AAA01&0&17 Нужен драйвера, код PCI\VEN_1039&DEV_7012&SUBSYS_0C98105B&REV_A0\3&B1BFB68&0&17 Драйвера на PCI\VEN_10B7&DEV_1700&SUBSYS_80EB1043&REV_12\4&2E98101C&0&28 F0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|