关于Java中的线程安全(线程同步)
生活随笔
收集整理的這篇文章主要介紹了
关于Java中的线程安全(线程同步)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java中的線程安全是什么:
就是線程同步的意思,就是當(dāng)一個(gè)程序?qū)σ粋€(gè)線程安全的方法或者語句進(jìn)行訪問的時(shí)候,其他的不能再對(duì)他進(jìn)行操作了,必須等到這次訪問結(jié)束以后才能對(duì)這個(gè)線程安全的方法進(jìn)行訪問 什么叫線程安全:如果你的代碼所在的進(jìn)程中有多個(gè)線程在同時(shí)運(yùn)行,而這些線程可能會(huì)同時(shí)運(yùn)行這段代碼。如果每次運(yùn)行結(jié)果和單線程運(yùn)行的結(jié)果是一樣的,而且其他的變量的值也和預(yù)期的是一樣的,
就是線程安全的。 或者說:一個(gè)類或者程序所提供的接口對(duì)于線程來說是原子操作或者多個(gè)線程之間的切換不會(huì)導(dǎo)致該接口的執(zhí)行結(jié)果存在二義性,也就是說我們不用考慮同步的問題。線程安全問題都是由全局變量及靜態(tài)變量引起的。若每個(gè)線程中對(duì)全局變量、靜態(tài)變量只有讀操作,而無寫操作,一般來說,這個(gè)全局變量是線程安全的;若有多個(gè)線程同時(shí)執(zhí)行寫操作,一般都需要考慮線程同步,否則就可能影響線程安全。
存在競(jìng)爭(zhēng)的線程不安全,不存在競(jìng)爭(zhēng)的線程就是安全的。
就是線程同步的意思,就是當(dāng)一個(gè)程序?qū)σ粋€(gè)線程安全的方法或者語句進(jìn)行訪問的時(shí)候,其他的不能再對(duì)他進(jìn)行操作了,必須等到這次訪問結(jié)束以后才能對(duì)這個(gè)線程安全的方法進(jìn)行訪問 什么叫線程安全:如果你的代碼所在的進(jìn)程中有多個(gè)線程在同時(shí)運(yùn)行,而這些線程可能會(huì)同時(shí)運(yùn)行這段代碼。如果每次運(yùn)行結(jié)果和單線程運(yùn)行的結(jié)果是一樣的,而且其他的變量的值也和預(yù)期的是一樣的,
就是線程安全的。 或者說:一個(gè)類或者程序所提供的接口對(duì)于線程來說是原子操作或者多個(gè)線程之間的切換不會(huì)導(dǎo)致該接口的執(zhí)行結(jié)果存在二義性,也就是說我們不用考慮同步的問題。線程安全問題都是由全局變量及靜態(tài)變量引起的。若每個(gè)線程中對(duì)全局變量、靜態(tài)變量只有讀操作,而無寫操作,一般來說,這個(gè)全局變量是線程安全的;若有多個(gè)線程同時(shí)執(zhí)行寫操作,一般都需要考慮線程同步,否則就可能影響線程安全。
存在競(jìng)爭(zhēng)的線程不安全,不存在競(jìng)爭(zhēng)的線程就是安全的。
轉(zhuǎn)載于:https://www.cnblogs.com/uppercloud/p/7360252.html
總結(jié)
以上是生活随笔為你收集整理的关于Java中的线程安全(线程同步)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python图像插值
- 下一篇: Google员工自述:在哈佛教书和在Go