今天跟同事討論了一下多執行緒併發問題,為了驗證自己的想法,寫了如下**:
package com.zken.pkg;
public class multithread implements runnable
public void setname(string name)
public void run() else if(this.getname().equals("2"))
} private synchronized void m1() catch (interruptedexception e)
system.out.println("m1::::"+this.getname());
} private void m2()
public static void main(string args)
}
我**的結果是:
m2::::2
m1::::2
實際結果:
m2::::2
m2::::2
還請南來北往的神牛們幫忙解釋下哈~~~~~~~~~~~~~~~~~~
Boost之多執行緒
c 標準庫沒有涉及執行緒,在c 中,雖然不可能寫出標準相容的多執行緒程式,程式設計師可以使用特定作業系統提供的執行緒庫來寫出多執行緒程式來。可是,這至 少導致兩個突出的問題 作業系統普遍提供的是c庫,在c 中使用要更小心,每個作業系統都有自己的一套支援多執行緒的庫 另外,不標準,不可移植。boost...
linux之多執行緒
linux系統下的多執行緒遵循posix執行緒介面,稱為pthread 標頭檔案 include 原型 int pthread create pthread t tidp,const pthread attr t attr,void start rtn void void arg 返回值 若執行緒建...
c 之多執行緒
1.對多執行緒的呼叫用到頭檔案 1.1中的操縱函式 pthread create pthread t tidp,constpthread attr t attr,void start rtn void void arg 第乙個引數為指向執行緒 識別符號的 指標。第二個引數用來設定執行緒屬性。第三個引...