Семафорлар ағыны қауіпсіз бе?

Мазмұны:

Семафорлар ағыны қауіпсіз бе?
Семафорлар ағыны қауіпсіз бе?
Anonim

Семафорлар жіп қауіпсіз javadoc-та түсіндірілгендей: Жад тұрақтылығы әсерлері: «шығару» әдісін шақыру алдында ағындағы әрекеттер, мысалы, келесіден кейінгі босату орын алғанға дейінгі әрекеттер басқа ағында сатып алу сияқты сәтті «алу» әдісі. Java-дағы нысандардағы операциялардың көпшілігі.

Семафорлар жарысқа кедергі жасай ма?

Жоқ, құлыптау әрекеттері атомдық түрде орындалады. Бүкіл құлыпталғандар атомдық түрде орындалмайды. Жіптердің ортақ мекенжай кеңістігін бөлісетінін және олардың барлығы процеске байланысты екенін есте сақтаңыз.

Жіпті пайдалану қауіпсіз бе?

A MessageService нысаны тиімді түрде өзгермейді, себебі оның күйі жасалғаннан кейін өзгермейді. Демек, ол жіпке қауіпсіз. Сонымен қатар, егер MessageService шын мәнінде өзгермелі болса, бірақ бірнеше ағындардың оған тек оқуға рұқсаты болса, ол ағын үшін де қауіпсіз.

Жіп қауіпсіз және синхрондалған ба?

Thread safe дегенді білдіреді: әдіс бір уақытта ешбір қиындықсыз бірнеше ағынмен қатынасу үшін қауіпсіз болады. синхрондалған кілтсөз – «жіп қауіпсіздігіне» қол жеткізудің бір жолы. Бірақ есте сақтаңыз: Іс жүзінде бірнеше ағындар синхрондалған әдіске кіруге тырысқанда, олар тәртіпті сақтайды, сондықтан кіру қауіпсіз болады.

Семафорлар әділ бе?

Жалпы, ресурсқа кіруді басқару үшін пайдаланылатын семафорлар ешбір ағынның ресурсқа кіруден қалмауын қамтамасыз ету үшін әділ ретінде инициализациялануы керек. Қолдану кезіндесинхрондау басқаруының басқа түрлеріне арналған семафорлар, әділ емес тапсырыстың өткізу қабілетінің артықшылықтары жиі әділеттілік ойларынан асып түседі.

Ұсынылған: