disruptor-pattern

    4熱度

    2回答

    我已經介紹了LMAX和這個美妙的概念,叫做RingBuffer。 所以,人們告訴說,當只寫一個線程的性能比使用多線程寫入環緩衝更好... 但是我真的不覺得可能只有一個應用程序只使用一個線程寫入環形緩衝區。我真的不明白lmax如何做(如果他們這樣做)。例如,N個不同的交易者在交易中下達訂單,那些都是異步請求,這些請求被轉換爲訂單並放入循環緩衝區,他們如何可能使用一個線程編寫這些請求? 問題1.我可能

    0熱度

    2回答

    在多生產者設置中,有一個生產者線程和一個消費者線程。消費者是否可以將新事件發回相同的環形緩衝區?我假設當緩衝區已滿並且消費者線程在當前事件中工作時永遠不會獲得空閒插槽時,它會中斷。換句話說,發生死鎖。 這樣做的最好方法是什麼?我是否必須引入一種代理線程來接收消費者的事件並將它們發佈到環形緩衝區中,就像普通生產者一樣? 補充 - 爲什麼是它有用嗎? 假設消費者線程正在處理股票市場數據事件,並且需要向

    3熱度

    1回答

    我有一些LMAX Disruptor的經驗,我真的想用disruptor實現一個自定義的actor郵箱。 是否有任何指導方針?它甚至有可能嗎?阿卡的演員郵箱有什麼限制?

    0熱度

    1回答

    我正在做一個在Disruptor上創建actor模型的原型(https://github.com/LMAX-Exchange/disruptor/wiki)。根據所有示例,事件的變化不會使用易失性或任何其他方式來確保可見性得以保留。我想知道什麼讓這個安全? 在常見問題解答中,這聽起來像是照顧(https://github.com/LMAX-Exchange/disruptor/wiki/Frequ

    0熱度

    1回答

    在onEvent的各種示例中,有時變量被聲明爲final,有時不會。 例如: public void onEvent(final ValueEvent entry, final long sequence, final boolean onEndOfBatch) 反對 public void onEvent(ValueEvent entry, long sequence, boolean on

    0熱度

    1回答

    我知道我的問題違背了Disruptor API的基本聲明。但是當我正在學習它時,我寫了一個程序來替換我使用ArrayLinkedBlockingQueue的我的1P-1C用例。但是,當我運行這個程序時,我總是花費更多的時間來處理干擾,而不是ArrayLinkedBlockingQueue。我一定是做錯了什麼或者錯了,但我不確定我的計劃是什麼。有人有意見嗎? (這是一個測試程序,所以很明顯我的事件處

    0熱度

    1回答

    我正在尋找使用dirsuptor環緩衝區來解析文件。但我不明白如何設置環形緩衝區的值範圍。 在下面的例子看起來。它循環到每個項目以將其分配給緩衝區。但是,我想直接分配x項。 當我做FileInputStream.read(字節[]字節),我想把這些字節放入環形緩衝區。 通常我的緩衝區比讀取的字節大兩倍。像這樣雖然我計算一個(例如字節數組長度==緩衝器/ 2)I可以讀取另一頁: ExecutorSe

    0熱度

    1回答

    使用LMAX干擾程序,我們觀察到,如果我們在應用程序中一起使用5-10個干擾程序(有點像干擾鏈,每個干擾程序有一個消費者執行指定的任務然後將消息交給下一個干擾程序/環緩衝區),CPU使用率達到90%以上,系統變得無響應,直到我們關閉應用程序,我們覺得這是因爲有太多活動的干擾程序線程。即使干擾者沒有真正處理任何事情,也會發生這種情況。任何人都可以評論什麼應該是應用程序中使用的最佳干擾程序數量?

    1熱度

    1回答

    應用程序不斷接收名爲Report的對象,並將對象放入Disruptor以供三個不同的使用者使用。 在Eclipse內存分析的幫助下,每個Report對象的保留堆大小平均爲20KB。應用程序以-Xmx2048開頭,表示應用程序的堆大小爲2GB。 但是,對象的數量一次大約爲100,000個,這意味着所有對象的總大小約爲2GB。 要求所有100,000個對象都應該加載到Disruptor中,以便消費者可

    0熱度

    1回答

    我開發了一個隊列,允許單個消費者和生產者同時提供/輪詢來自隊列的元素,而不對每個offer/poll進行同步或CAS操作。相反,當隊列的尾部分爲空時,只需要一個原子操作。 該隊列旨在減少隊列被緩衝並且消費者無法趕上生產者的情況下的延遲。 在這個問題中,我想回顧一下實現(代碼還沒有被任何其他人審查過,所以很有可能得到第二個意見),並討論一種我認爲應該大大減少延遲的使用模式,並且這個架構是否可能比LM