Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.217.134] |
|
Сообщ.
#1
,
|
|
|
Привет всем. знаю только pthread_mutex_lock и pthread_mutex_unlock.
в винде есть куча всего, и critical section и event'ы и семафоры. есть ли в линуксе что-нить кроме мьютексов? |
Сообщ.
#2
,
|
|
|
Цитата Demo_S @ есть ли в линуксе что-нить кроме мьютексов? Есть. Семафоры, переменные-условия. Этого достаточно для реализации всех виндовых примитивов. |
Сообщ.
#3
,
|
|
|
Цитата Flex Ferrum @ переменные-условия это что? надыбал кстати классную ссылку http://cs.pub.ro/~apc/2003/resources/pthreads/uguide/document.htm там еще некие read/write lock'и есть. если работают так как я предполагаю, ваще круто будет;) |
Сообщ.
#4
,
|
|
|
Цитата Demo_S @ это что? conditional variable. Примитив, очень отдаленно напоминающий виндовые event'ы. Используется для ожидания изменения определенного условия в программе. Например, представь себе очередь с архитектурой "один читатель-много писателей". Читатель реагирует на появление новых элементов в очереди. Когда очередной писатель поместил что-то в очередь - он дергает за этот самый примитив, уведомляя тем самым читателя, что состояние очереди изменилось. Читатель реагирует на это и, если в очередь действительно что-то попало, выполняет необходимые действия. |
Сообщ.
#5
,
|
|
|
Цитата A condition variable is always used in conjunction with a mutex and the shared resource(s). A thread first locks the mutex and then verifies that the shared resource is in a state that can be safely used in the manner needed. If it’s not in the state needed, the thread waits on the condition variable. This operation causes the mutex to be unlocked during the wait so that another thread can actually change the state of the shared resource. It also ensures that the mutex is locked when the thread returns from the wait operation. When another thread changes the state of the shared resource, it needs to notify the threads that may be waiting on the condition variable, enabling them to return from the wait operation. |
Сообщ.
#6
,
|
|
|
ok. а чем эти conditional variables реализуются? по какому слову искать?
|
Сообщ.
#7
,
|
|
|
текс , искать Уильям Стивенс UNIX: взаимодействие процессов . В даной книженции есть все что может понадобиться по процесам потокам синхронизации. И в догонку его же книга UNIX: разработка сетевых приложений . Погугль дето должны лежать шаровые копии .
|
Сообщ.
#8
,
|
|
|
Цитата Demo_S @ а чем эти conditional variables реализуются? по какому слову искать? По этому слову и искать. Это системный примитив синхронизации. |