Semaphore vs Mutex
Semaphore yog cov qauv ntaub ntawv uas siv los xyuas kom meej tias ntau cov txheej txheem tsis nkag mus rau cov peev txheej lossis cov ntu tseem ceeb tib lub sijhawm, nyob rau hauv ib puag ncig kev sib txuas. Semaphores yog siv los tiv thaiv cov xauv tuag thiab kev sib tw. Mutex (Mutual Exclusion Object) kuj tseem siv los zam kev nkag mus rau cov peev txheej tib lub sijhawm los ntawm ntau cov txheej txheem sib txuam.
Semaphore yog dab tsi?
Semaphore yog cov qauv ntaub ntawv uas siv los muab kev sib nrig sib cais rau cov ntu tseem ceeb. Semaphores feem ntau txhawb nqa ob txoj haujlwm hu ua tos (keeb kwm hu ua P) thiab teeb liab (keeb kwm hu ua V). Lub sijhawm tos ua haujlwm thaiv cov txheej txheem kom txog thaum lub semaphore qhib thiab lub teeb liab ua haujlwm tso cai rau lwm cov txheej txheem (xov) nkag. Txhua semaphore yog txuam nrog ib tug queue ntawm tos txheej txheem. Thaum lub sijhawm ua haujlwm tos raug hu los ntawm xov, yog tias lub semaphore qhib, cov xov tuaj yeem txuas ntxiv mus. Yog tias lub semaphore raug kaw thaum lub sijhawm tos kev ua haujlwm raug hu los ntawm cov xov, cov xov raug thaiv thiab nws yuav tsum tau tos hauv cov kab. Lub teeb liab ua haujlwm qhib lub semaphore thiab yog tias muaj cov xov uas twb tau tos hauv cov kab, cov txheej txheem ntawd raug tso cai mus txuas ntxiv thiab yog tias tsis muaj cov xov tos nyob rau hauv kab lub teeb liab yuav nco ntsoov rau cov xov tom ntej. Muaj ob hom semaphores hu ua mutex semaphores thiab suav semaphores. Mutex semaphores tso cai rau ib leeg nkag mus rau cov peev txheej thiab suav cov semaphores tso cai rau ntau cov xov kom nkag mus rau cov peev txheej (uas muaj ntau chav nyob).
Mutex yog dab tsi?
Thaum pib daim ntawv thov hauv computer, nws yuav tsim mutex thiab xa mus rau cov peev txheej. Thaum cov khoom siv los ntawm cov xov, nws raug kaw thiab lwm cov xov tsis tuaj yeem siv nws. Yog tias lwm cov xov xav siv tib cov peev txheej, nws yuav tsum tau thov. Tom qab ntawd cov xov yuav muab tso rau hauv ib kab kom txog thaum thawj xov tiav nrog cov peev txheej. Thaum thawj cov xov tiav nrog cov peev txheej, xauv yuav raug tshem tawm thiab cov xov uas tos hauv kab tuaj yeem nkag mus rau cov peev txheej. Yog tias muaj ntau cov xov tos hauv cov kab, lawv raug muab nkag rau hauv lub hauv paus rotating. Xyaum, thaum lub mutex hloov qhov kev nkag mus rau ib qho chaw ntawm ob peb threads, nws yuav pom tau tias ntau threads tau siv ib qho kev pab tib lub sij hawm. Tab sis sab hauv tsuas yog ib qho xov nkaus xwb yog nkag mus rau cov peev txheej ntawm lub sijhawm.
Dab tsi yog qhov txawv ntawm Semaphore thiab Mutex?
Txawm hais tias, ob qho tib si semaphores thiab mutex cov khoom siv los ua kom tau txais kev sib koom ua ke hauv qhov chaw sib luag, lawv muaj qee qhov sib txawv. Ib yam khoom mutex tsuas yog tso cai rau ib qho xov los haus cov peev txheej lossis ntu tseem ceeb, qhov semaphores tso cai rau tus lej txwv ib txhij nkag mus rau cov peev txheej (hauv qab tus lej siab tshaj plaws). Nrog cov khoom mutex, lwm cov xov uas xav nkag mus rau cov peev txheej yuav tsum tau tos hauv ib kab, kom txog thaum cov xov tam sim no tiav siv cov peev txheej.