java入門篇(28) 多執行緒(補充一)

2021-09-10 07:07:27 字數 2111 閱讀 5244

二、執行緒的例項

三、同步方法

思路:用實現callable介面的方法建立多執行緒,futuretask是callable的子類,有乙個get()方法用來獲取執行緒執行完之後的結果。

public class callable_text1 implements callable

@override

public integer call() throws exception

return sum;

}}

public class callable_main 

}

出現多執行緒安全問題的條件

思路:

@override

public void run()

} catch (ioexception e)

}}

public class thread_main2 

start = len*n;

end = file.length();

new thread_text2(start, end, file, file1).start();

}}

注意:

一定要記得開啟執行緒,不然不會出現任何的結果

目的檔案的檔名不一定要和原始檔的檔名一樣

要解決的問題

解決的方法

public class seal_ticket_text extends thread  catch (interruptedexception e) 

ticket--;

system.out.println(thread.currentthread().getname() + " " + "還剩下" + ticket + "張票");}}

}}

}

public class seal_ticket_main 

}

synchronized修飾的方法叫做同步方法。

正確的案例:

public class seal_ticket_text implements runnable 

}private synchronized void seal_ticket() catch (interruptedexception e)

ticket--;

system.out.println(thread.currentthread().getname() + "剩下" + ticket + "張票");}}

}

public class seal_ticket_main 

}

錯誤的示範:

package thread;

public class seal_ticket_text extends thread

}private synchronized void seal_ticket() catch (interruptedexception e)

ticket--;

system.out.println(thread.currentthread().getname() + "剩下" + ticket + "張票");}}

}

public class seal_ticket_main 

}

同步方法的鎖物件用的用的是this,但是必須是同乙個物件的this,不然就達不到使票成為互斥資源的效果,如上面的錯誤的案例,就new了兩個物件,這樣同步方法裡的鎖物件就不是同乙個物件,就會執行各自的鎖方法,就會出錯。

private static synchronized  void seal_ticket()  catch (interruptedexception e) 

ticket--;

system.out.println(thread.currentthread().getname() + "剩下" + ticket + "張票");}}

}

多執行緒程式設計 之 入門篇

自己第一次涉及c語言的多執行緒程式設計,實屬入門了解級別的 之前只做過j a的runnable的多執行緒程式設計。本次我們可以把螢幕看成是乙個資源,這個資源被兩個執行緒所共用,include include using namespace std dword winapi fun lpvoid lp...

HOOK API入門篇 一

windows系統是建立在事件驅動的機制上的,說穿了就是整個系統都是通過訊息的傳遞來實現的。而鉤子是windows系統中非常重要的系統介面,用它可以截獲並處理送給其他應用程式的訊息,來完成普通應用程式難以實現的功能。鉤子可以監視系統或程序中的各種事件訊息,截獲發往目標視窗的訊息並進行處理。這樣,我們...

Python入門篇(一)

對了,入門篇都是python3.6的,其實只要有其它物件導向的經驗,看一遍就ok了,如果沒有基礎的朋友,可就得多寫幾遍嘍,理解物件的用法,未完待續 一 概念 類 用來描述具有 相同屬性和方法的物件的集合 二 命名方式 1 類名大駝峰 2 方法名小駝峰 3 嚴格區分大小寫 三 類的定義 class c...