日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java并发编程】20、DelayQueue实现订单的定时取消

發布時間:2025/6/16 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java并发编程】20、DelayQueue实现订单的定时取消 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當訂單定時取消需要修改數據庫訂單狀態,但是怎么確定訂單什么時候應該改變狀態,解決方案有下面兩種:?
第一種,寫個定時器去每分鐘掃描數據庫,這樣更新及時,但是如果數據庫數據量大的話,會對數據庫造成很大的壓力。?
第二種,創建訂單的時候再訂單表里面創建一條記錄,然后把這條記錄保存到DelayQueue隊列里面,并且用一個子線程不斷地輪訓這個出隊的訂單。然后進行訂單狀態修改的狀態。?
下面是這個方式的實現:

1)保存訂單信息的Bean必須實現Delay接口。Delay里面有兩個重要的方法。一個是compareTo,該方法是用來比較隊列里面的訂單的順序。另外一個是getDelay,用來判斷最前面訂單出隊的時間。?

2)創建線程類。去調用對應的Service方法來操作數據庫。?
?
3.系統剛一啟動就要把數據庫里面未付款的訂單加載到Queue里面,并且調用線程池生成子線程,這樣可以確保子線程出異常后,不會影響到后續的訂單處理。啟動子線程不斷監控要出隊的訂單。?

4.當客戶取消訂單的時候,需要程序從Queue里面刪除訂單信息。?

?

出處:http://blog.csdn.net/zj972535075/article/details/66476495

總結

以上是生活随笔為你收集整理的【Java并发编程】20、DelayQueue实现订单的定时取消的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。