Semafory, czy ktoś tego w ogóle używa
Dziwne pytanie, ale bawię się w pisanie obsługi tych rzeczy na "wypasiony" mikrokontroler i naszły mnie wątpliwości.
Z jednej strony semafor sprawia że jakaś część kodu nie nadwyręża zasobów bo nie używa cykli CPU, z drugiej każde podniesienie semafora może spowodować ciągłe przełączanie kontekstu
Inaczej, sens jest wtedy kiedy nasz wątek w którym tego semafora używamy jest długi, albo kiedy nie jest często wywoływany.
Bo weźmy przypadek, wątek z semaforem 500 cykli, wątek główny odblokowujący 500 cykli, przełączanie kontekstu w jedną i drugą stronę 2 x 500 cykli :] i mamy 50 % wydajności systemu.
W sumie pisząc to, przyszło mi do głowy, że sens jeszcze jest kiedy semafor odblokowujący jest np w przerwaniu.
Dziwne pytanie, ale bawię się w pisanie obsługi tych rzeczy na "wypasiony" mikrokontroler i naszły mnie wątpliwości.
Z jednej strony semafor sprawia że jakaś część kodu nie nadwyręża zasobów bo nie używa cykli CPU, z drugiej każde podniesienie semafora może spowodować ciągłe przełączanie kontekstu
Inaczej, sens jest wtedy kiedy nasz wątek w którym tego semafora używamy jest długi, albo kiedy nie jest często wywoływany.
Bo weźmy przypadek, wątek z semaforem 500 cykli, wątek główny odblokowujący 500 cykli, przełączanie kontekstu w jedną i drugą stronę 2 x 500 cykli :] i mamy 50 % wydajności systemu.
W sumie pisząc to, przyszło mi do głowy, że sens jeszcze jest kiedy semafor odblokowujący jest np w przerwaniu.