国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

利用多線程解決多業務不同定時區間歇觸發問題的一種方法

2019-11-17 02:24:00
字體:
來源:轉載
供稿:網友

利用多線程解決多業務不同定時區間歇觸發問題的一種方法

1.背景

項目中需要解決一個這樣的問題:有兩個業務均需要每隔幾秒觸發一次,但是兩個業務都只是在規定的時間區域內才進行該行為。比如,在早上八點到晚上六點為上班時間,在這個時間段內兩個業務必須每隔幾秒被執行一次,下班后則停止工作。

2.思路

這個問題最開始我是想利用timer來解決,即做兩個timer,一個timer來控制一個事務,然后在各事務對應時間區域內執行。

但是考慮到Timer是在主線程里執行的,Thread是在自己的線程中執行的,在多核多線程的CPU中,利用Thread的效率高更高一些。而且后期事務變多,控制更復雜,用timer也不是很利于擴展。所以最后決定使用多線程來解決該問題。

經過思考以及參閱類似案例,比如http://m.survivalescaperooms.com/shuang121/archive/2012/07/05/2578033.html,最后將框架設計成如下結構:

3.具體實現

3.1 IshedulerJob

3.2 Job

3.3SchedulerConfiguration

3.4Scheduler

3.5 viewer

4. 優化

a.兩個事務均涉及到數據庫的多數據增刪查改,為了保證數據的唯一性,對數據庫操作均采取事務型操作。

b.為了避免數據庫的重復連接和關閉,這里盡量使用數據庫的長連接。同時,為了避免兩個事務共用一個數據庫連接而出現的問題,特地使用簡單的數據庫連接池進行處理。

c.為了連接池能被共享,對連接池所在類進行單例模式。

——歡迎轉載,但保留版權,請于明顯處標明出處:http://m.survivalescaperooms.com/naaoveGIS/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安徽省| 罗源县| 绥芬河市| 当雄县| 晋城| 互助| 革吉县| 榆林市| 息烽县| 通城县| 曲松县| 荔浦县| 隆德县| 阜城县| 永嘉县| 福建省| 新竹市| 石楼县| 河北省| 萨迦县| 闻喜县| 措勤县| 星座| 博白县| 竹北市| 定襄县| 措勤县| 岳普湖县| 日照市| 南溪县| 绥阳县| 桓台县| 安仁县| 新邵县| 胶南市| 合作市| 东港市| 凤山县| 镇沅| 靖安县| 隆子县|