java,active
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java active是什麼,讓我們一起了解一下?
在java中,Active Object模式是一種異步編程模式。它通過對方法的調用與方法的執行進行解耦來提高併發性。它的核心是允許任務的提交(相當於對異步方法的調用)和任務的執行(相當於異步方法的真正執行)分離。
首先從調用方代碼來看,調用一個Active Object對象的方法與調用普通Java對象的方法並無太大差別。
1 ActiveObject ao=...;2 Future future = ao.doSomething("data");3 //執行其它操作4 String result = future.get();5 System.out.println(result);
那麼Active Object模式的架構是什麼,有什麼作用?
1、當Active Object模式對外暴露的異步方法被調用時,與該方法調用相關的上下文信息,包括被調用的異步方法名(或其代表的操作)、調用方代碼所傳遞的參數等,會被封裝成一個對象。
該對象被稱爲方法請求(Method Request)。方法請求對象會被存入Active Object模式所維護的緩衝區(Activation Queue)中,並由專門的工作線程負責根據其包含的上下文信息執行相應的操作。
也就是說,方法請求對象是由運行調用方代碼的線程通過調用Active Object模式對外暴露的異步方法生成的,而方法請求所代表的操作則由專門的線程來執行,從而實現了方法的調用與執行的分離,產生了併發。
2、Active Object模式的主要參與者有以下幾種。
Proxy:負責對外暴露異步方法接口。當調用方代碼調用該參與者實例的異步方法doSomething時,該方法會生成一個相應的MethodRequest實例並將其存儲到Scheduler所維護的緩衝區中。doSomething方法的返回值是一個表示其執行結果的外包裝對象:Future參與者的實例。異步方法doSomething運行在調用方代碼所在的線程中。
MethodRequest:負責將調用方代碼對Proxy實例的異步方法的調用封裝爲一個對象。該對象保留了異步方法的名稱及調用方代碼傳遞的參數等上下文信息。它使得將Proxy的異步方法的調用和執行分離成爲可能。其call方法會根據其所包含上下文信息調用Servant實例的相應方法。
ActivationQueue:負責臨時存儲由Proxy的異步方法被調用時所創建的MethodRequest實例的緩衝區。
Scheduler:負責將Proxy的異步方法所創建的MethodRequest實例存入其維護的緩衝區中。並根據一定的調度策略,對其維護的緩衝區中的MethodRequest實例進行執行。其調度策略可以根據實際需要來定,如FIFO、LIFO和根據MethodRequest中包含的信息所定的優先級等。
Servant:負責對Proxy所暴露的異步方法的具體實現。
Future:負責存儲和返回Active Object異步方法的執行結果。
-
怎麼查看微信羣在哪裏,哪裏可以查看微信羣
1、成功登陸微信後,點擊微信通訊錄選項卡,在微信通訊錄裏可以看到羣聊,點擊羣聊。2、打開羣聊後,在羣聊這裏什麼都沒有,點擊羣聊右上角的“+”圖標。3、在發起羣聊界面上,點擊選擇一個羣。4、點擊進入到選擇羣聊界面後,在選擇羣聊就裏可以看到所有的微信羣了。5、點擊...
-
微博只記得暱稱怎麼登錄
1、在新浪微博登錄頁面,點擊忘記密碼。2、進入頁面,點擊忘記登錄名旁邊的“請試試找回登錄名”。3、按照提示填寫新浪微博暱稱,現在密碼,曾用密碼,輸入驗證碼後,點擊“提交”4、當你填寫正確的“當前密碼”通過驗證後,新浪會給你提示微博登錄名。5、這樣就可以重新登...
-
怎麼查蘋果耳機是不是正品
1、檢查外包裝盒正品盒子外有一層膠帶封住,正品膠帶黏度適中,而且乾淨透亮。開啓盒子需稍微用力,盒子和蓋子之間連接緊密,不易脫落。仿品的透明蓋已脫落,開啓十分容易,盒子和蓋子之間連接不緊密,倒置時受重力影響會分開,更要注意仿品外包裝的膠帶與正品的不同。2、查看...
-
買手機殼送的繞耳機線魚骨頭使用方法
1、魚骨頭收納器正是因爲它的長相設計成了一個魚骨頭的形狀才被成爲魚骨收納器。它分爲三部分,它的魚頭和魚尾分別有兩個斜着的卡扣是用來分別固定耳機頭和耳機插口的。2、繞耳機線時首先我們應該先進行單側的半圈安繞線,固定耳機的插口和耳機頭的方向,接着再用相...