第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

應該如何理解高并發(fā)?理解apache服務和nginx對高并發(fā)的處理機制?

應該如何理解高并發(fā)?理解apache服務和nginx對高并發(fā)的處理機制?

阿晨1998 2019-03-01 10:49:36
看過很多關于并發(fā)的文章,但是現(xiàn)實開發(fā)中暫時沒有遇到過,有些概念比較模糊。 先舉例子 我們春節(jié)搶票回家,如果某趟車9點售票,a和b都在9:00:00(精確到微秒,甚至unix時間一樣的),搶深圳到武漢的票。 問題如下 1.這屬于并發(fā)嗎?如果是并發(fā),會產(chǎn)生什么結果(如用戶數(shù)據(jù)混亂之類)。如果不是,如何才能產(chǎn)生并發(fā)的條件?2.如果是并發(fā), java是相對線程安全,如果12306的服務器語言是java的話,這樣是不是就不會產(chǎn)生有危害的結果?如果還是會產(chǎn)生,是否可以使用隊列解決?3.如果12306的服務器是tomcat,是不是會消耗大量的CPU資源?如果用高性能服務器nginx和php組合處理業(yè)務,會不會更高(但php性能并沒有java好)?
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

問題很多,就我看到的問題來回答:

  • 這屬于并發(fā)嗎? 不一定。到服務器的邏輯處理處究竟是并發(fā)還是并行還是要看其機制。

  • 你說的數(shù)據(jù)混亂之類的,可能是指多線程操作一個對象而導致每個線程持有對象副本不一致而造成臟讀臟寫。就這里幾個關鍵字你可以進行擴展搜索。

  • 線程安全不看語言??梢杂藐犃薪鉀Q,這里會有一個臨界區(qū)的概念。

  • 消耗大量的cpu資源也是要看是什么樣的操作的,比如大量的數(shù)據(jù)庫持久化那么肯定是IO密集型操作,不吃CPU;反而要進行大量計算的,那么就是CPU密集型操作。在這里,如果真的是啟動大量線程在后臺服務器中運行,CPU會忙著切換線程而消耗盡其資源。

  • tomcat是個服務器,但它會不會消耗大量CPU資源還是得看你怎么使用的。同時它也是個容器,你在容器里跑app起大量線程,如之前所說,肯定會消耗大量CPU資源。就算你在ngnix+php里也會這樣。

查看完整回答
反對 回復 2019-03-01
?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

簡單說一下吧。
1.你的例子場景屬于并發(fā)場景,但是技術實現(xiàn)可以多種多樣,但是不妨礙這個場景可以并行爭奪資源的本質(zhì)。引發(fā)的問題很容易得出,就是無順序的并行運算修改檢查共享資源(火車票票數(shù)),會導致最終結果與邏輯結果不一致。
2.你的疑惑集中在java是不是相對處理并發(fā)更安全,說明你對于java等語言的機制了解與運用不是很深入,并發(fā)問題無論什么語言都需要程序員針對應用語言的特性與提供的工具去解決實際問題,優(yōu)先解決的自然是并發(fā)安全問題,也就是上面說的在并發(fā)情境下如何讓共享資源的最終結果與邏輯結果一致,可以用鎖、隊列等技術,本質(zhì)上都是在某一個關鍵運算點位變成順序或者事務執(zhí)行等,以保證共享資源的原子性、可見性。進階就是并發(fā)場景下的性能與可用性。
3.語言的適用場景是不同的,沒有絕對的什么語言比什么語言好,我們只能說在什么情況下一般的技術選型什么更適合。tomcat是一個web容器,但是很顯然它是個java web容器,也就是說它除了提供普通的web服務外也提供java相關的很多功能。java本身是支持線程操作的,量級比進程更輕,也意味著同樣配置的服務器,同一種業(yè)務,java開啟的處理線程更多,處理線程越多當然高點并發(fā)性能表現(xiàn)就更好,也就越節(jié)省物理運算資源。然而php是以進程為單位開啟的,所以并發(fā)處理能力基于上面的描述在高點是不如java web的。但是如果你的并發(fā)場景并不“高”,需要快速實現(xiàn)業(yè)務而且也有精通php的程序員,php當然是優(yōu)先考慮。

查看完整回答
反對 回復 2019-03-01
?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

基礎這么差,無從講起啊。

查看完整回答
反對 回復 2019-03-01
  • 3 回答
  • 0 關注
  • 520 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號