Java的多執行緒,以賽馬為例,學習如何繼承Thread與實作Runnable

網路程式經常使用到多執行緒程式設計,為讓初學者能夠輕鬆瞭解多執行緒的特色,以賽馬程式為範例,設計多執行緒的Java應用程式。依照內容順序實作,可瞭解到未使用多執行緒的問題與實作多執行緒的優點,並在最後進一步認識這個機制的特色與方法。

Java的多執行緒,由基礎開始認識Threading

Java語言中,java.lang.Thread類別就是設計讓使用者向作業系統取得額外的執行緒,並在這個執行緒類別中,放入設計師想要做的工作。假如想設計一個賽馬的程式,就只能讓一匹馬從起點跑到終點,如果想要設計出多匹馬一起跑,而且各自跑到終點,那就要使用多執行緒的功能。

Java的NIO,什麼是blocking? 什麼是non-blocking?

Java語言原本的輸出入(Input/Output)java.io套件,在資料還未到達時系統還是會留有資源在那等待。JDK自從1.4版開始有了新的處理方式-NIO(Non-blocking I/O),NIO以「非等待式」或稱「非堵塞式」(non-blocking)的方式進行資料的接收,它提供一種「觀察並通知」的機制