一個類有兩個方法,其中一個是同步的,另一個是非同步的; 現在又兩個執行緒A和B,請問:當執行緒A訪問此類的同步方法時,執行緒B是否能訪問此類的非同步方法?
一個類有兩個方法,其中一個是同步的,另一個是非同步的;
現在又兩個執行緒A和B,請問:當執行緒A訪問此類的同步方法時,執行緒B是否能訪問此類的非同步方法?
答案:可以
驗證
package com.my.test2; public class ClassA { public synchronized void do1() { //延遲列印,為了更明顯 try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("synchronized do1"); } public void do2() { System.out.println("do2"); } } package com.my.test2; public class Thread1 extends Thread{ private ClassA classA; public Thread1(ClassA classA) { this.classA = classA; } @Overridepublic void run() { classA.do1(); } } package com.my.test2; public class Thread2 extends Thread{ private ClassA classA; public Thread2(ClassA classA) { this.classA = classA; } @Override public void run() { classA.do2(); } }package com.my.test2; public class Test { /** * @param args */ public static void main(String[] args) { ClassA classA = new ClassA(); Thread1 thread1 = new Thread1(classA); Thread2 thread2 = new Thread2(classA); thread1.start(); thread2.start(); } }
執行結果:
do2
synchronized do1 //延遲3秒後輸出
相關推薦
通過js禁止輸入空格(試用場景:當用字符串拼接插入dom節點時,onkeyup這些方法都不好使可用這個)
urn lob ria 所有 span returns cas code else if <span style="font-family: Arial, Helvetica, sans-serif;"><input type="password" nam
java 反射: 當Timestamp型別的屬性值為null時,設定預設值
import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; class Person {
必殺技:當報錯資訊看不出原因時,怎麼辦?
今天遇到了一個錯誤,一般的錯誤提示會很明顯,一看就知道是什麼問題。今天遇到的這個說實話真的不好找原因,一般在這種情況下該怎麼解決呢? 分享下我的思路吧,不一定是最好的,至少有用。 直接上圖吧,下面是報錯資訊: 為了方便檢視,我把最重要的資訊提取出來,如下: org.springframework.bean
一個類有兩個方法,其中一個是同步的,另一個是非同步的; 現在又兩個執行緒A和B,請問:當執行緒A訪問此類的同步方法時,執行緒B是否能訪問此類的非同步方法?
一個類有兩個方法,其中一個是同步的,另一個是非同步的;現在又兩個執行緒A和B,請問:當執行緒A訪問此類的同步方法時,執行緒B是否能訪問此類的非同步方法? 答案:可以 驗證 package com.my.test2; public class ClassA { public syn
spring IOC一個類有多個構造器,用構造器注入怎麼解決匹配問題
Car 類寫入兩個構造器(引數不同) package com.beans; public class Car { private String brand; private String corp; private double price
刪除檔案時,提示檔案已在另一個程式中開啟而導致檔案無法刪除,怎麼辦
今天下載的一個檔案恢復軟體工具,之後不好用想刪掉就出現上面情況,怎麼刪啊,刪除時候就提示“檔案已經在另一個程式中開啟”,有圖,系統win7, 由於檔案正在開啟著,所以無法刪除,解決辦法如下: 1:關閉開啟該檔案的程式,如果不知道該程式被誰佔用,可以通過工作管理員-->
/var/run/yum.pid 已被鎖定,PID 為 XXXXX 的另一個程式正在執行。
刪除jdk時終端提示 /var/run/yum.pid已被鎖定,PID 為 XXXXX 的另一個程式正在執行 解決方法: 直接在終端執行 rm -f/var/run/yum.pid 將該檔案刪除,然
當input中的type值為file時,各瀏覽器的表現形式不同
button tex ati color 不同 ack 需要 標簽 圖片 如果想使各瀏覽器下的表現形式相同,需要對該input元素隱藏,然後再改元素下方添加標簽。其html寫法如下 <div class="input-file"> <input type
【轉】編寫高質量代碼改善C#程序的157個建議——建議141:不知道該不該用大括號時,就用
body pos 高質量 一行 ron strong gpo clas div 建議141:不知道該不該用大括號時,就用 如果if條件語句只有一行語句,要不要使用大括號? 答案是:建議使用。一個括號不會增加多少代碼,但是卻讓代碼看上去增加了一致性。括號本身只會讓代碼更具
當我們輸入一條 SQL 查詢語句時,發生了什麼?
我們經常說,看一個事兒千萬不要直接陷入細節裡,你應該先鳥瞰其全貌,這樣能夠幫助你從高維度理解問題。同樣,對於 MySQL 的學習也是這樣。平時我們使用資料庫,看到的通常都是一個整體。比如,你有個最簡單的表,表裡只有一個 ID 欄位,在執行下面這個查詢語句時: 複製程式
C++:對結構體中字元陣列賦值時,出現表示式必須是可修改的左值的問題
問題描述: 在C++中為結構體中的字元陣列賦值時,出現”表示式必須是可修改的左值“的錯誤提醒,編譯報錯“不可指定資料型別”。 &n
Jboot v1.7.5 釋出,Spring Cloud 之外的另一個選擇
Jboot 是一個基於 JFinal 和 Undertow 開發的微服務框架。提供了 AOP、RPC、分散式快取、限流、降級、熔斷、統一配置中心、Opentracing 資料追蹤、metrics 資料監控、分散式 session、程式碼生成器、shiro 和 jwt 安全
當我們討論TCP的連線運輸管理時,我們在說什麼
TCP連線管理概述 TCP是面向連線的協議。運輸連線是用來傳送TCP報文的。TCP的連線和釋放是每一次面向連線的通訊中必不可少的過程。因此,運輸連線就有三個階段,即:連線建立,資料傳輸和連線釋放。運輸連線的管理就是使運輸連線的建立和釋放都可以正常的進行。 在TCP連線的建立過程中要解決一下三個問題。 1
一個頁面,如何跳轉到另一個頁面的指定tab選項卡
傳遞對於tab的下標過去就行了,然後獲取對應的li trigger下click事件,如果是滑鼠移動切換的trigger mouseover事件,類似下面的 以下程式碼需要匯入jquery <
訪問WEB首頁時,每個請求會發送2次請求到後臺的原因
最近做福建WEB話單功能時發現訪問WEB首頁時,每個請求會發送2次請求到後臺,俺表示非常的費解,用FF debug後現象如下:發現首頁被請求了2次,後來經過除錯後發現HTML中有這麼一段:當img標籤中src屬性為一個空字串時會產生這個多出來的請求!!產生此問題的HTML:s
從一個檔案讀取內容計算出結果,將結果寫入到另一個檔案中
/* * 專案根路徑下有個questions.txt檔案內容如下: 5+5 [ 5, 5] 150-25 155*155 2555/5 要求:讀取內容計算出結果,將結果寫入到results
在一個頁面上,一塊區域上顯示另一個頁面(或者檔案)的內容
按鈕的內容:<input name="butt" value="統計" type="button" id="change" onclick="change()" />給了一個onclick事件觸發js的程式碼。iframe框的內容:(注意,在這個div上還有一個父div!)<div clas
question 1:在除錯Tensorflow的tensorboard視覺化程式時,在瀏覽器中輸入localhost:6006,顯示無法載入
針對以上問題,解決方法: 步驟1.首先安裝一個很好用的軟體,搜尋Everything,這是為了搜尋檔案路勁用的。 步驟2.在剛剛的安裝的軟體中搜索:tensorboard, 然後選中tensorboard.exe檔案,然後右鍵,然後選擇“開啟路勁”,此時就找到了這個
當bridge下介面eth0單獨設定IP時,為了保證LAN PC可以連線WANPC
一般情況下,是在bridge中設定IP地址,如果把網路介面如eth0/1,ath*等掛在該bridge之下,所有bridge的介面公用一個IP。 而下面情況則不同。 環境: 為了保證LAN-PC可以連線WAN-PC;需要做如下工作: 1、 讓LAN-PC可以訪問到N