О семафорах и условных переменных

Я действительно не понимаю разницы между семафорами и условными переменными...

Что можно использовать с потоками, а что нельзя, когда что использовать?


person AX2    schedule 09.11.2014    source источник
comment
Взгляните на: stackoverflow.com/questions/3513045/   -  person InterruptedException    schedule 09.11.2014
comment
Я бы, наверное, снова прочитал о семафорах. Они достаточно разные, поэтому путаница различий маловероятна. Возможно, уделите время тому, чтобы подумать о том, как планируются процессы и почему это может быть проблемой при использовании механизма условий для критических разделов кода.   -  person ChiefTwoPencils    schedule 09.11.2014


Ответы (1)


В Windows семафоры используются для синхронизации потоков между процессами. Принимая во внимание, что, с другой стороны, условная переменная может использоваться только для синхронизации потоков в процессе. Посетите эту ссылку для получения информации о некоторых методах синхронизации потоков, используемых в Windows:

http://www.codeproject.com/Articles/7953/Thread-Synchronization-for-Beginners

Кроме того, условные переменные являются атомарными по своей природе. Если вы программист Windows, вы можете использовать критические секции для синхронизации потоков в процессе.

person Chitresh Gupta    schedule 10.11.2014