java中線程的管理以及執行緒組的實現運用構造心得

2021-09-01 22:40:53 字數 898 閱讀 1285

前言,在支付系統專案中,運用了一些多執行緒的任務,現在此記錄學習一下,以備以後運用到,同時自己也理一下邏輯思想。

在專案中有這樣幾個需求,需要接受專案組中上游專案傳送過來的資料請求,請求包括了支付,同步,餘額,明細大體四個分支。在專案中因為上游是通過傳送特定的json字串,用http的請求,向我們的專案中發出請求操作,所以我們用多執行緒的思路來完成這幾個操作:

第一步:

建立乙個抽象的類asyncrequestexecutor ,同時實現runnable,在構造方法中例項化乙個非阻塞佇列concurrentlinkedqueue (先進先出);同時包括幾個方法putrequest(string date) ,該方法往佇列中add請求資料,notifywork():喚醒當前的執行緒,stopwork():停止工作,以及@override run方法,在run方法中獲得佇列中的資料,分析是4種操作的哪一種,進行工作。在這有點注意的是如何呼叫對應的執行緒,以及相應的方法進行操作?這裡我們要新增乙個抽象的方法operationimpl(string data).

第二步建立了4個 執行緒:payasyncrequestexecutor,querypayasyncrequestexecutor,balanceasyncrequestexecutor,detailasyncrequestexecutor ,這些執行緒不用再去寫自己的喚醒等方法,可以直接繼承自asyncrequestexecutor  ,同時重寫其抽象方法operationimpl(string data)實現自己具體的邏輯

第三步建立asyncrequestthread 類,建構函式中 呼叫super 傳入group和 asyncrequestexecutor 

第四步第五步

在***中contextinitialized的時候init執行緒,呼叫執行緒組的init方法,以及contextdestroyed關閉執行緒

java中線程問題

24.09 多執行緒 獲取名字和設定名字 掌握 1.獲取名字 通過getname 方法獲取執行緒物件的名字 2.設定名字 通過建構函式可以傳入string型別的名字 new thread start new thread yyy start 通過setname string 方法可以設定執行緒物件的...

JAVA中線程同步方法

在這裡看到的 1 wait方法 該方法屬於object的方法,wait方法的作用是使得當前呼叫wait方法所在部分 塊 的執行緒停止執行,並釋放當前獲得的呼叫wait所在的 塊的鎖,並在其他執行緒呼叫notify或者notifyall方法時恢復到競爭鎖狀態 一旦獲得鎖就恢復執行 呼叫wait方法需要...

Java中線程應用總結

1.執行緒是基本排程單元。共享程序的資源,如記憶體和檔案控制代碼。但有自己的pc 程式計數器 stack 執行緒棧 及本地變數 2.執行緒的優勢 a 充分利用多處理器 b 可以簡化模型。特定任務給特定執行緒。如servlets及rmi等框架。c 對非同步事件的簡單處理。如socket,nio使用更複...