Java面试题之多线程同步和互斥有几种实现方法,都是什么?
生活随笔
收集整理的這篇文章主要介紹了
Java面试题之多线程同步和互斥有几种实现方法,都是什么?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
線程同步是指線程之間所具有的一種制約關(guān)系,一個(gè)線程的執(zhí)行依賴另外一個(gè)線程的消息,當(dāng)它沒有得到另一個(gè)線程的消息時(shí)應(yīng)等待,直到消息到達(dá)時(shí)才被喚醒。
線程互斥是指對于共享的進(jìn)程系統(tǒng)資源,每個(gè)線程訪問時(shí)的排他性。當(dāng)有若干個(gè)線程都要使用某一個(gè)共享資源時(shí),任何時(shí)刻最多只允許一個(gè)線程去使用,其他線程必須等待,知道占用占用資源者釋放該資源。線程互斥可以看成是一種特殊的線程同步。
線程間的同步方法大體可以分為兩類:用戶模式和內(nèi)核模式
1、用戶模式:原子操作,臨界區(qū)
2、內(nèi)核模式:事件、信號量、互斥量
內(nèi)核模式就是利用系統(tǒng)內(nèi)核對象的單一性來進(jìn)行同步,使用時(shí)需要切換內(nèi)核態(tài)與用戶態(tài),而用戶模式就是不需要切換內(nèi)核態(tài),只在用戶態(tài)完成操作
轉(zhuǎn)載于:https://www.cnblogs.com/hujinshui/p/10367883.html
總結(jié)
以上是生活随笔為你收集整理的Java面试题之多线程同步和互斥有几种实现方法,都是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星堆博物馆讲解员多少钱
- 下一篇: visual studio 2017 中