首頁 >Java >java教程 >Java多執行緒的使用與實作方法

Java多執行緒的使用與實作方法

WBOY
WBOY轉載
2023-04-23 17:04:071635瀏覽

1、應用程式場景

(1)普通瀏覽器和網路服務(現在寫的網路是幫你完成執行緒控制的中間部件),網路處理請求,各種專用伺服器(例如遊戲伺服器)

(2)servlet多執行緒。

(3)FTP下載,多執行緒操作檔。

(4)資料庫中使用的多執行緒。

(5)tomcat、tomcat內部採用多線程,數百個客戶端訪問同一WEB應用程序,tomcat訪問後,將後續處理投入新的線程進行處理,該新的線程最後調用我們的servlet程式

(6)後台任務:例如,定期向大量(100W以上)使用者發送郵件;定期更新設定檔和任務調度(如quartz),一些監控用於定期收集資訊。

(7)自動操作處理:如定期備份日誌,定期備份資料庫等。

2、實例

等待逾時模式。

開發人員常用這種方法呼叫場景。呼叫一種方法時等待一段時間(一般是給定時間段),如果該方法能在給定時間段內得到結果,則立即返回結果,相反,超時返回預設結果。

一個簡單的資料庫連線池實例。

//java.sql.Connection是一个接口,最终的实现是由数据库驱动提供方来实现。
//我们通过动态代理构造一个Connection,仅仅用于示范。
public class ConnectionDriver {
//动态代理的处理器类
static class ConnectionHandler implements InvocationHandler{
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Thread.sleep(100);
return null;
}
}
//创建一个Connection的代理,在commit时休眠100毫秒
public static final Connection createConnection(){
return (Connection)Proxy.newProxyInstance(ConnectionDriver.class.getClassLoader(),
new Class<?>[]{Connection.class}, new ConnectionHandler());
}
}

以上是Java多執行緒的使用與實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除