開發過程中資源限制的挑戰

2022-09-09 02:18:11 字數 790 閱讀 7484

1.什麼是資源限制

資源限制是指在進行併發程式設計時,程式執行速度受限於計算機硬體資源或軟體資源。

有資料庫的連線數和socket連線數等。

2.資源限制引發的問題

在併發程式設計中,將**執行速度加快的原則是將**中序列執行的部分變成併發執行,但是

如果將某段序列的**併發執行,因為受資源,仍然在序列執行,這時候出現不僅不會加快

執行,反而會更慢,因為增加了上下文切換和資源排程的時間。例如之前看看到一段程式使用

完成任務,後來改成單執行緒,乙個小時就執行完成了。

3.如何解決資源限制的問題

對於硬體資源限制,可以考慮使用集群並行執行程式。既然單機的資源有限制,那麼就讓程式

在多機上執行。比如使用odps、hadoop或者自己搭建的伺服器集群,不同的機器處理不同的資料。

可以通過「資料id%機器數」,計算得到乙個機器編號,然後由對應編號的機器處理這筆資料。

對於軟體資源限制,可以考慮使用資源池將資源復用。比如使用連線池將資料庫和socket

連線復用,或者在呼叫對方webservice介面獲取資料時,只建立乙個連線。

4.在資源限制情況下進行併發程式設計

如何在資源限制的情況下,讓程式執行得更快呢?方法是,根據不同的資源限制調整程式的併發度,

sql語句執行非常快,而執行緒的數量比資料連線數大很多,則某些執行緒會被阻塞,等待資料庫連線。

對於j**a開發人員,建議多使用jdk並發包提供的併發容器和工具類來解決並問題,因為這些類都已經

通過充分的測試和優化。

it技術和行業*** 417691667

聊聊開發過程中的「反饋」

溝通,反饋,簡單,勇氣,尊敬是敏捷開發的五個價值觀,它們深刻地反映了當前軟體開發組織中相對缺少但又對團隊建設和成功交付至關重要的東西。這裡我想聊聊反饋,但並不討論關於反饋的全部,主要是集中在對 想 與 做 的節奏的 反饋是我認為最特別的乙個價值觀。實際上,做很多事情,我們總是重複著 想 做 想 做 ...

開發過程中的加解密

1.加密演算法分為 可逆加密 對稱加密 des,3des,aes,pbe 非對稱加密 rsa,dsa,ecc 不可逆加密 單向加密 md5,sha,hmac 2.金鑰的介紹 對稱加密 將明文 密文 連同金鑰放入相應的加密 或加密容器 即可得到密文或者明文,實現加解密。在對稱加密中金鑰必須是相同的才可...

簡述開發過程中的耦合

程式間的依賴關係或者是呼叫者和被呼叫者之間的依賴關係 高耦合 低耦合開發的原則 編譯時依賴,執行時不依賴。團隊開發中的時候不需要等待別人 使用反射建立類物件 class.forname 新問題 若換個驅動就要改原始碼,改原始碼的話如果是上線的web專案就需要停掉伺服器更改 使用配置檔案,通過讀取配置...