[英]Why a Channel needs a CancellationToken if it has Complete method?
我正在使用System.Threading.Channel 。 Channel.Reader.WaitToReadAsync接受CancelationToken 。 但是,還有Channel.Writer.TryComplete()或Channel.Writer.Complete()方法。 那么 ...
[英]Why a Channel needs a CancellationToken if it has Complete method?
我正在使用System.Threading.Channel 。 Channel.Reader.WaitToReadAsync接受CancelationToken 。 但是,還有Channel.Writer.TryComplete()或Channel.Writer.Complete()方法。 那么 ...
[英]Is having async producer-consumer helps to not steal a thread for duration of whole program?
下面的代碼從 tcp 接收消息並將它們傳遞給適當的消息處理程序。 根據消息類型,消息處理程序可能需要幾分鍾或幾秒鍾來處理它。 我選擇了為每種消息類型設置單獨的處理程序的設計。 但是,現在我在想: 即使我有異步生產者-消費者( await _messages.Reader.WaitToReadAsy ...
[英]notification from producer thread is not reaching to consumer thread once single item is produced
在下面的代碼片段中,一旦生產者生產了單個項目,生產者線程到消費者線程的通知似乎就不會到達,並且由於這種行為,一旦生產者完成生成相當於緩沖區大小的項目,那么只有消費者開始消費項目。 任何人都可以建議我們應該如何使用信號量來解決這個問題。 ...
[英]Cannot retrieve chunks of data from BlockingCollection<T>
我經常發現自己確實想要 stream 塊中的數據而不是一個接一個。 通常我在需要執行一些基於 I/O 的操作時這樣做,比如我想限制往返的數據庫插入。 所以我得到了這個不錯的小擴展方法: 這工作得很好,但我注意到它不適用於BlockCollection<T> GetConsumingEnu ...
[英]kafka + This server is not the leader for that topic-partition
我有 5 個代理 kafka 版本 0.10 集群。復制因子是 3。這是生產 kafka 經紀人 IDS 是 幾個月后集群正常,我們在 Kakfa server.log 中觀察到以下日志。 從日志中我們可以看到很多行“This server is not the leader for that to ...
[英]kafka produce messages in consumer
我有一個需要將消息傳遞到多層處理的應用程序。 我需要這樣做,因為所有新消息都應該放入第一個通用主題中,以便可以對其進行處理以計算類型,然后將它們放入另一個主題中(以進行進一步處理),從現在開始相同key的消息,go自動直接轉到第二個主題。 我打算為每一層創建多個主題。 消息首先 go 進入第一層並得 ...
[英]Thread-safe buffer that propagates the latest data
我有一個數據源,它每 15 到 20 毫秒創建(產生)一個PointF 。 我需要每 10 毫秒存儲(消耗)這些點。 我的做法是使用一個3點寬的緩沖區和指針來實現無鎖訪問: 我的想法是一旦新數據到達,它將存儲在舊數據的“上方”。 然后將讀指針設置為這個 position,然后遞增寫指針。 如果現在已 ...
[英]How does a Kafka Consumer keep track of processed messages if auto commit happen less often than poll?
因此,如果 Kafka Consumer 啟用了自動提交且提交間隔為 5 秒,並且我們每 1 秒消耗一次批次...... ... 消費者會在自動提交完成之前多次處理消息嗎? ...
[英]How to properly use a ConcurrentQueue for writing in a file on a separate thread?
我有一個從外部接收數據的應用程序,我正在努力做到這一點,以便將這些數據寫入文件是在一個單獨的線程中完成的(因為將它寫入直接接收它的線程會導致問題足夠快地寫入數據)。 在我看來, ConcurrentQueue很適合這個。 但是我有一個問題,因為下面的代碼根本不會寫入文件: 聲明: 消費者: Co ...
[英]Thread blocking even when LinkedBlockingQueue is empty
為了進行清楚的調查,我只有一個線程生成一個實體,一個線程使用它。 這兩部分共享LinkedBlockingQueue。 在使用實體后,線程將其轉發給其他線程以將實體保存在數據庫中。 在通過隊列插入和刪除實體的幾次迭代后,生產線程停止工作。 調試日志顯示它就像隊列阻塞插入操作一樣,即使隊列為空或有足夠 ...
[英]Fast producer, slow consumer, bounded channel, reduce the frequency of awakening the producer
我有一個基於有界Channel<T>的生產者-消費者場景¹。 這些項目來自 RDBMS,生產者連接到 RDBMS 並一個接一個地獲取它們。 特殊之處在於,我沒有在生產者的整個生命周期內保持數據庫連接的奢侈。 我必須在頻道已滿時關閉連接,並在頻道再次有空間可用於新項目時重新打開連接。 所以 ...
[英]Kafka Listener method could not be invoked with the incoming message Endpoint handler details
我從生產者 spring 引導發送 json object 但是當我試圖在消費者中接收消息時,我收到以下錯誤: 卡夫卡配置: 接收文件: ...
[英]Golang: How to tell whether producer or consumer is slower when communicating via buffered channels?
我在 Golang 中有一個應用程序,其中我有一個管道設置,每個組件執行一些工作,然后通過緩沖通道將其結果傳遞給另一個組件,然后該組件對其輸入執行一些工作,然后將其結果傳遞給另一個組件通過另一個緩沖通道,依此類推。 例如: C1 -> C2 -> C3 -> ... 其中 C1 ...
[英]HttpClient.SendAsync processes two requests at a time when the limit is higher
我有一個 Windows 服務,它從數據庫中讀取數據並使用多個 REST API 調用處理這些數據。 最初,此服務在計時器上運行,它會從數據庫中讀取未處理的數據,並使用使用SemaphoreSlim限制的多個線程對其進行處理。 這工作得很好,除了數據庫讀取必須等待所有處理完成才能再次讀取。 Serv ...
[英]Why sometimes in the output of the producer-consumer problem, the consumer is getting a previous value instead of the new value produced by producer?
我有下面的 Java 代碼:class Q2 { int n; boolean valueSet = false; synchronized int get() { while(!valueSet) try { ...
[英]I need help I want to exit the program
**我在這段代碼中需要幫助它是關於使用多個生產者和消費者的有界緩沖區問題的簡單代碼它的工作並且沒有問題......但是當生產者完成時消費者仍在等待並且程序永遠運行所以怎么能我解決這個**``` 當它完成代碼退出()時,我試圖創建一個共享計數器 ...
[英]Multiple consumer threads need to read the same element from a queue
我要求多個消費者需要從 python 中的隊列中讀取所有元素。我正在使用 ThreadpoolExecutor 提交任務。 例如,如果隊列有 3 個元素並且有 3 個消費者線程,則所有 3 個消費者都需要從隊列中獲取所有 3 個元素。 queue.get() 的問題在於它讀取元素並將其從隊列中彈出 ...
[英]One producer, multiple consumers. How to use condition variables with unbounded buffer?
盡管 Stackoverflow 上有很多類似的問題,但我無法為以下生產者-消費者問題提出解決方案: 我的程序有三個線程: 一個寫入器線程從文件中讀取數據,將數據保存到sensor_data_t結構中,然后使用sbuffer_insert(buffer, &sensor_data)將其寫入 ...
[英]Rust Tokio "future cannot be sent between threads safely ", How to use watch::channel to share Vec<u8> data?
該項目正在實施 TcpListener 服務。 它監視 pc 事件並向 TCP 客戶端廣播。 根據需求(一個生產者和許多消費者)。 但是代碼引發了“未來不能安全地在線程之間發送”錯誤:use tokio; use tokio::{io::AsyncWriteExt, net::TcpStream, ...
[英]Channel/BlockingCollection alloc free alternatives?
我最近對我的框架進行了基准測試,發現它分配了大量垃圾。 我正在使用Channel<T>並且TryRead或ReadAsync操作在每次調用時分配 memory。 所以我用BlockingCollection<T>交換了它,它也在 TryTake 期間分配了TryTake 。 ...