java同时执行同一个方法吗_java 返回结果的同时执行另一个方法
照?JPer?的指點,改寫了代碼 如下,旨在說明 " 如果調用方法 a() 的過程還沒有結束,JAVA虛擬機 JVM絕不會去解釋并執行下一行,即絕不會去創建JSONObject 對象 jsonObject, 接著返回這個對象,以結束(完成)方法 cs() 調用"。
簡單定義了 ?OSCHINA 類 來替代? JSONObject 類。它有一個屬性 name。 一旦調用它的有參構造方法,這個字符串參數值,就將賦予屬性 name。
執行方法 cs()的最后兩行代碼 所返回的 結果, 是一個 name 是”開源中國”的 OSCHINA類的對象。
a() 方法的執行代碼包括兩步:
a.???? 首先, ?創建一個 線程A_Thread 類的對象 a_thread,并啟動這個線程。
b.???? 這個線程每半秒輸出一次信息:"執行方法 a() 被調用的線程正在運行。"
c.???? 創建并啟動線程后 休眠 2 秒鐘,才結束方法 a() 的調用。這期間線程會不時發出信息。
class OSCHINA { //用來替代 JSONObject 的類定義
String name; //字符串屬性
public OSCHINA(String s){//構造方法
name=s;
System.out.println("OSCHINA 類的構造方法被調用.");
}
}
public class A{
public void a() {//起始方法 a的定義
new Thread(new Runnable(){ //創建一個線程
@Override
public void run(){
while(true) {
try{
Thread.sleep(500);//每半秒輸出一次信息
}catch(InterruptedException e){};
System.out.println("執行方法 a() 被調用的線程正在運行。");
}
}
}).start();
try{
Thread.sleep(2000);//休眠2秒后才結束a 的調用
} catch(InterruptedException e) {};
System.out.println("執行 a 結束。");
}//方法 a 的定義 完成
private OSCHINA cs() {
System.out.println("調用 cs(), 開始處理...");
a();
OSCHINA o= new OSCHINA("開源中國");
return o;
}
public static void main(String args[]){
A t= new A();
System.out.println((t.cs()).name);
}
}
輸出表明,只有調用方法 a() 的任務完成之后,才得以執行下面的代碼 ( 調用 OSCHINA的構造方法, 創建 ?對象,然后返回這個對象以結束 cs() 的調用) 。就是說:跳過方法 a() 的執行時間,直接返回結果"?是不可能的(錯誤的)。
調用 cs(), 開始處理...
執行方法 a() 被調用的線程正在運行。
執行方法 a() 被調用的線程正在運行。
執行方法 a() 被調用的線程正在運行。
執行 a 結束。
OSCHINA 類的構造方法被調用.
開源中國
執行方法 a() 被調用的線程正在運行。
執行方法 a() 被調用的線程正在運行。
執行方法 a() 被調用的線程正在運行。
總結
以上是生活随笔為你收集整理的java同时执行同一个方法吗_java 返回结果的同时执行另一个方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java批量导入和批量删除_MyBati
- 下一篇: java32位无符号数_用C语言解释32