cost 315 ms
奇怪的“Collection was modified”異常,盡管它從未被修改過

[英]Strange `Collection was modified` exception though it never gets modified

如果我有一個預定義的集合並且它的值僅通過索引訪問和更新,為什么我會得到Collection was modified異常。 沒有線程向集合中刪除或添加項目。 異常發生在行var values = new List<double> { amount.Values[0], amount.Va ...

Static 會員 function 和線程安全

[英]Static member function and thread safety

我在 class 中有一個私有方法 static,它具有 static 的所有方法。它是一個幫助程序 class,可以幫助進行日志記錄和其他操作。 這個 helper class 將被多個線程調用。 我不明白所討論的方法如何在沒有鎖的情況下安全地與多個線程一起工作。 我了解 static 方法內部的 ...

從 Rust 中的方法內部創建新線程時如何正確使用 self

[英]How to properly use self when creating a new thread from inside a method in Rust

我正在創建一個服務器,將 TcpStream 對象存儲在 Vec 中以備后用。問題是 function 偵聽新連接並將它們添加到 Vec 中永遠在一個單獨的線程中運行並且不允許其他線程讀取Vec。 在當前示例中,服務器接受連接但不允許主線程讀取連接向量。我努力讓 listen function 以 ...

使用 PostgreSQL 中的值序列獲取主鍵約束沖突(從 Java 調用)

[英]Getting primary key constraint violation using sequence for value in PostgreSQL (called from Java)

我有一個 Java 應用程序,它在多線程環境中填充數據庫(每秒大約 100 次插入)。 我有一個部分正在使用它在表上插入以獲取主鍵: 然后代碼將值作為字符串獲取並將其解析為 integer 並將其用作主鍵。 代碼沒有在選擇之間進行提交。 獲取key的代碼同步到private static fina ...

復制前鎖定整個字典或部分字典 (SyncRoot)

[英]Lock entire Dictionary or part of before copying (SyncRoot)

我在 Blazor 服務器應用程序中的范圍服務中有 2 個字典,我用來管理多租戶的 state。 我注意到用戶在不同線程上修改字典可能存在並發問題。 我想我傾向於將它們保留為普通詞典並在修改或迭代時鎖定同步根。 如果我要將一個項目添加到包含 class 的集合中,它會是: 或者: 然后,如果我要將 ...

C++“魔術靜態”模式是否適用於所有初始化 styles?

[英]Does the C++ "magic static" pattern work for all initialization styles?

我知道 C++“魔術靜態”模式保證局部變量的線程安全初始化,因為 C++11。無論局部如何初始化,這都適用嗎? 我有一個內部靜態分析檢查器,它抱怨上面顯示的第三種樣式的線程安全性,但我認為沒關系,我正在尋找確認。 謝謝。 ...

在一個線程中添加到列表並在不鎖定的情況下從另一個線程中刪除列表有什么危險?

[英]What's the danger of adding to a list in one thread and removing from another without locking it?

前言:(我不知道這個詞是否合適) 我知道List不是線程安全的,並且知道並發 collections 的存在,例如ConcurrentBag , ConcurrentQueue等,並且在某種程度上知道如何使用鎖。 我只想知道如果我這樣做會有什么危險。 比如說,如果我有 2 個線程同時運行,一個向L ...

運行任務時訪問 ConcurrentDictionary 元素

[英]Accessing ConcurrentDictionary element while running Task

給定的代碼嘗試在獲取鎖的同時運行即發即棄Task ,以避免緩存元素出現競爭條件。 在調試整個應用程序時,我注意到奇怪的行為 - 使用相同的鍵到達相同的斷點。 也就是說,我不確定ConcurrentDictionary保證只有一個編寫器將應用於該元素以及鎖定在Task.Run塊內的假設是否會向我保證只 ...

如何在沒有鎖定的情況下在特定時間獲得穩定版本的多個值?

[英]How to get a stable version of mutiple values at a particular time without lock?

我正在閱讀 ConcurrentQueue 的源代碼,這里有一些代碼: GetHeadTailPositions() 可能想要在特定時間獲取 4 個變量,但是,在“where”循環中有 4 個比較,考慮以下序列: 然后我們得到這些變量的不穩定版本。 這個方法穩定嗎? 如何在沒有鎖定的情況下在特定 ...

boost asio:當處理程序受鏈保護時,調用 tcp::socket::async_read_some() 是否線程安全

[英]boost asio: Is it thread safe to call tcp::socket::async_read_some() when handler is protected by a strand

我很難完全理解 Boost ASIO 和 strands。 我的印象是,只要處理程序被包裹在一條鏈中,對socket::async_read_some()的調用就是安全的。 這似乎不是這種情況,因為代碼最終會拋出異常。 在我的情況下,第三方庫正在進行Session::readSome()調用。 我在 ...

停止處於睡眠狀態的 pthread

[英]Stopping a pthread which is in sleep

我有一個線程(這是 C 實現中的一個 Pthread)每 5 秒從文件中讀取一個值。 在關閉期間,這會導致關閉進程想要刪除線程但由於它正在休眠,它必須等待 5 秒才能完成休眠然后刪除的問題。 我如何在收到關閉信號后立即停止線程,即使它處於睡眠狀態? 我已經有一個條件變量,其中線程僅在條件為真時才休 ...

Swfit:使用分離任務后如何返回主線程

[英]Swfit: How to return to main thread after using Detached Task

我想切換到后台以加載圖像(或執行任何其他任務),然后返回到主線程以向我的視圖發出命令以顯示 smth。 例子: PS我不想使用: 因為它實際上並沒有切換到后台線程,它在主線程上做所有事情(不影響UI),但我需要一個后台線程 ...

發出 Qt 信號的線程安全

[英]Thread safety of emitting Qt signals

我正在使用QtConcurrent::run (我知道 QtConcurrent 的其他 API 內置了對進度報告的支持,但由於其他原因我不能使用它們)。 在與主 GUI 線程不同的內部運行操作。 我還需要這個操作來通知 GUI 線程取得的進展。 所以我所做的是為我想要的操作創建一個單獨的 func ...

如何停止在后台定期運行的協程

[英]How to stop a coroutine running periodically in the background

我創建了一個協程擴展 function 以固定的時間間隔在后台定期運行一個協程。 現在,我在存儲庫中運行一個協程,如下所示: 現在的問題是,我如何正確地從后台按需停止這個協程? 我已經嘗試cancelAndJoin()協同程序但是我現在如何引用在后台運行的特定協同程序? 提前致謝。 ...

在線程中獲取 WebView2 的 HTML 文檔

[英]Get the HTML Document of WebView2 inside a Thread

該函數應該獲取在線程上工作的 HTML 文檔。 ExecuteScriptAsync 需要管理一個任務,如果我在單獨的線程上運行它會導致執行錯誤。 我也不知道如何同步獲取 HTML 內容。 哪個是最佳實踐解決方案? ...

通用列表並發訪問 - 在存儲數據時清除列表的一部分

[英]Generic list concurrent access - clear part of list while data is getting stored

我有一個通用的List<T> ,其中存儲了來自網絡套接字的實時流數據。 我想將通用列表中的數據存儲到數據庫並清除列表,以便可以存儲新的流數據而不會填滿我的機器內存。 如果我枚舉列表以將數據發送到數據庫,我會遇到異常,因為在我嘗試枚舉或清除列表時數據正在添加到列表中。 如果我在列表上應用鎖 ...

在 android 中的 Dispatchers.Default 上運行 EGL 命令可以嗎?

[英]Is it okay to run EGL commands on Dispatchers.Default in android?

據我了解,EGL14.makeCurrent() 函數將線程映射到我們創建的 EGLContext。 我們執行的每個 EGL 操作都將在綁定到線程的 EGLContext 上執行。 執行用 Dispatchers.Default 包裝的 EGL 操作是否安全? 根據文檔,“”Dispatchers ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM