我有一個場景,我感到困惑的使用線程或進程:用於給定場景的進程或線程?
我有一個會談到由不同的公司提供了幾個其他的第三方網絡應用程序,並從這些應用程序中提取數據的應用程序。所以基本上我的應用程序會碰到這些第三方應用程序提供的api,帶來大量數據並將它們轉儲到數據庫中。
現在有許多因素顯著喜歡這裏 - 網絡延遲,數據庫的讀/寫,快/慢服務器在兩端等,所以基本上是應用在很大程度上耗費時間和資源,其性能取決於多種因素。
現在對於帶來如此巨大的數據什麼可以設計使用進程/線程方面應用的最佳方式是什麼?
我所知道的線程有許多積極的一面一樣 - 快速上下文切換,資源共享,重量輕等。並且過程比線程更重。
從我的應用程序的角度來看,我有以下要求:
- 數據庫和網絡是多進程/線程之間共享。
- 相互排斥必須在那裏。
- 該應用程序必須是防撞的。所以當一個線程崩潰時,它不會影響整個過程。
因此,對於上述情況,建議我該怎麼做 - 線程在相同的進程或多個進程?
請指出我是否在思維過程中遺漏任何案例。