[英]Using multiple statement objects in a multi-threaded application
我正在開發一個多線程應用程序,其中需要不同的線程來同時更新數據庫。 因此,我在創建它時向每個線程傳遞了一條新語句 object(以避免鎖定,如果我發送單個對象)。 我的疑問是:
可以從單個 jdbc 連接獲得的語句對象的數量是否有限制? 如果我創建了太多的語句對象,數據庫連接會失敗嗎?
如果我在線程消失之前正確關閉語句,一次可以產生多少線程(在具有 512Mb RAM 的系統上)?
無論我使用多少語句對象來並行更新數據庫,驅動程序不會在保持數據一致的同時更新數據庫嗎? 我使用 mysql。
IMO,您最好從每個線程中的連接池中查找 Connection 對象,而不是嘗試傳遞“語句”對象。
雖然我不是 java 程序員,但在多個線程之間共享單個連接是個壞主意。 當 2 個線程嘗試在同一個套接字上寫入時會發生什么? - 所以 - 每個線程必須有自己的數據庫連接
是的,如果許多線程同時寫入,數據庫中的數據應該是一致的——無論如何,你必須注意正確管理事務的代碼——當然,使用 InnoDB 作為 MySQL 的存儲引擎,因為 MyISAM不允許交易
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.