Semaphores yog xov nyab xeeb raws li tau piav qhia hauv javadoc: Kev nco zoo sib xws: Kev ua hauv xov ua ntej hu rau "tso" txoj hauv kev xws li tso tawm tshwm sim-ua ntej ua tom qab ua tiav "tau txais" txoj kev xws li tau txais hauv lwm txoj xov. Feem ntau cov haujlwm ntawm cov khoom hauv java.
Puas semaphores tiv thaiv haiv neeg?
Tsis yog, kaw haujlwm tshwm sim atomically. Tag nrho cov xauv yuav tsis raug tua atomically. Thiab nco ntsoov, threads sib koom ib qho chaw nyob-chaw thiab tag nrho ua ke rau ib txheej txheem.
Puas siv xov zoo?
A MessageService object yog qhov hloov tau zoo vim nws lub xeev tsis tuaj yeem hloov pauv tom qab nws tsim. Yog li ntawd, nws yog thread-safe. Ntxiv mus, yog tias MessageService tau hloov pauv tau tiag tiag, tab sis ntau cov xov tsuas muaj kev nyeem ntawv nkaus xwb, nws tseem muaj kev nyab xeeb thiab zoo.
Cov xov puas muaj kev nyab xeeb thiab synchronized?
Xov xwm nyab xeeb txhais tau tias: txoj hauv kev nyab xeeb kom nkag tau los ntawm ntau cov xov tsis muaj teeb meem tib lub sijhawm. synchronized lo lus tseem ceeb yog ib txoj hauv kev kom ua tiav 'xov zoo'. Tab sis nco ntsoov: Tiag tiag thaum ntau cov xov sim nkag mus rau txoj kev sib txuas lawv ua raws li qhov kev txiav txim thiaj li muaj kev nyab xeeb nkag mus.
Yog semaphores ncaj ncees?
Feem ntau, semaphores siv los tswj kev nkag mus rau cov peev txheej yuav tsum tau pib ua ncaj ncees, kom ntseeg tau tias tsis muaj xov tsis tshaib plab los ntawm kev nkag mus rau cov peev txheej. Thaum sivsemaphores rau lwm yam kev tswj hwm synchronization, qhov zoo ntawm kev txiav txim siab tsis ncaj ncees feem ntau tshaj qhov kev txiav txim siab ncaj ncees.