国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

并發(fā)(concurrency)與并行(parallellism)

KavenFan / 1072人閱讀

摘要:并發(fā)與并行并發(fā)與并行的概念并行多個(gè)實(shí)例或者多臺(tái)機(jī)器同時(shí)執(zhí)行一段處理邏輯,是真正的同時(shí)。并發(fā)通過(guò)調(diào)度算法,讓用戶看上去同時(shí)執(zhí)行,實(shí)際上從操作層面不是真正的同時(shí)。并行與并發(fā)的異同點(diǎn)相似性都是為了合理且最大化利用系統(tǒng)的資源。

并發(fā)(concurrency)與并行(parallellism)

并發(fā)與并行的概念
??并行:多個(gè)cpu實(shí)例或者多臺(tái)機(jī)器同時(shí)執(zhí)行一段處理邏輯,是真正的同時(shí)。
??并發(fā):通過(guò)cpu調(diào)度算法,讓用戶看上去同時(shí)執(zhí)行,實(shí)際上從cpu操作層面不是真正的同時(shí)。并發(fā)往往在場(chǎng)景中有公用的資源,那么針對(duì)這個(gè)公用的資源往往產(chǎn)生瓶頸,我們會(huì)用TPS或者QPS來(lái)反應(yīng)這個(gè)系統(tǒng)的處理能力。

并行與并發(fā)的異同點(diǎn)
??相似性:都是為了合理且最大化利用系統(tǒng)的資源。
??差異性:并發(fā)(concurrency)與并行(parallellism)這兩種概念理解起來(lái)比較容易混淆,我就在如下進(jìn)行詳細(xì)講解。
????

??如上圖所示,并發(fā)(concurrency)是指在一個(gè)cpu處理的線程中一直不斷的切換任務(wù),最終給人的感覺(jué)就像同時(shí)執(zhí)行了多個(gè)任務(wù)。而并行(parallellism)在多個(gè)cpu同一時(shí)間處理多個(gè)任務(wù)(在一個(gè)cpu中出現(xiàn)不了并行的狀態(tài))

并發(fā)(concurrency)與并行(parallellism)的實(shí)例
??在簡(jiǎn)單的傳統(tǒng)模式中的生產(chǎn)者及消費(fèi)者模式中就能體現(xiàn) 并發(fā)(concurrency)與并行(parallellism)的實(shí)例:

    /**
   * 生產(chǎn)者生產(chǎn)出來(lái)的產(chǎn)品交給店員
   */
    public synchronized void produce(){  
     if(this.product >= MAX_PRODUCT){
          try{
              wait();  
              System.out.println("產(chǎn)品已滿,請(qǐng)稍候再生產(chǎn)");
          }
          catch(InterruptedException e){
              e.printStackTrace();
          }
          return;
      }
      this.product++;
      System.out.println("生產(chǎn)者生產(chǎn)第" + this.product + "個(gè)產(chǎn)品.");
      notifyAll();   //通知等待區(qū)的消費(fèi)者可以取出產(chǎn)品了
}
/**
   * 消費(fèi)者從店員取產(chǎn)品
   */
  public synchronized void consume()
  {
      if(this.product <= MIN_PRODUCT)
      {
          try 
          {
              wait(); 
              System.out.println("缺貨,稍候再取");
          } 
          catch (InterruptedException e) 
          {
              e.printStackTrace();
          }
          return;
      }

      System.out.println("消費(fèi)者取走了第" + this.product + "個(gè)產(chǎn)品.");
      this.product--;
      notifyAll();   //通知等待去的生產(chǎn)者可以生產(chǎn)產(chǎn)品了
  }
在傳統(tǒng)的模式中生產(chǎn)者和消費(fèi)者在同一線程中得意實(shí)現(xiàn)就算線程并發(fā)(concurrency),如果生產(chǎn)者模式和消費(fèi)者模式在不同的線程中進(jìn)行實(shí)現(xiàn),就算做并行(parallellism)。  

?????????????參考文檔:https://www.cnblogs.com/wxd01...
?????????????圖片來(lái)源:https://zhidao.baidu.com/ques...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/76959.html

相關(guān)文章

  • 垃圾回收算法 JVM 垃圾回收器綜述

    摘要:垃圾回收算法與垃圾回收器綜述我們常說(shuō)的垃圾回收算法可以分為兩部分對(duì)象的查找算法與真正的回收方法。串行垃圾回收器一次只使用一個(gè)線程進(jìn)行垃圾回收并行垃圾回收器一次將開(kāi)啟多個(gè)線程同時(shí)進(jìn)行垃圾回收。 垃圾回收算法與 JVM 垃圾回收器綜述歸納于筆者的 JVM 內(nèi)部原理與性能調(diào)優(yōu)系列文章,文中涉及的引用資料參考 Java 學(xué)習(xí)與實(shí)踐資料索引、JVM 資料索引。 showImg(https://s...

    imingyu 評(píng)論0 收藏0
  • 一文了解JVM全部垃圾回收器,從Serial到ZGC

    摘要:是目前的實(shí)驗(yàn)收集器。也是需要暫停程序一切的工作,然后多線程執(zhí)行垃圾回收。與最大的不同,它關(guān)注的是垃圾回收的吞吐量。這里的吞吐量指的是總時(shí)間與垃圾回收時(shí)間的比例。篩選回收,評(píng)估標(biāo)記垃圾,根據(jù)模式回收垃圾。 《對(duì)象搜索算法與回收算法》介紹了垃圾回收的基礎(chǔ)算法,相當(dāng)于垃圾回收的方法論。接下來(lái)就詳細(xì)看看垃圾回收的具體實(shí)現(xiàn)。 上文提到過(guò)現(xiàn)代的商用虛擬機(jī)的都是采用分代收集的,不同的區(qū)域用不同的收集...

    jasperyang 評(píng)論0 收藏0
  • [JVM 相關(guān)] Java 新型垃圾回收器(Garbage First,G1)

    摘要:適用收集場(chǎng)景新生代收集老年代收集并行收集器又叫吞吐量收集器應(yīng)用于多核系統(tǒng)。它是為了平衡延時(shí)和吞吐量之間的一種最優(yōu)關(guān)系。 回顧傳統(tǒng)垃圾回收器 HotSpot 垃圾收集器實(shí)現(xiàn) Serial Collector(串型收集器) 使用場(chǎng)景,大多數(shù)服務(wù)器是單核CPU。適用收集場(chǎng)景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Genera...

    Jason 評(píng)論0 收藏0
  • PyTips 0x 12 - Python 線程協(xié)程(1)

    摘要:中關(guān)于線程的標(biāo)準(zhǔn)庫(kù)是,之前在版本中的在之后更名為,無(wú)論是還是都應(yīng)該盡量避免使用較為底層的而應(yīng)該使用。而與線程相比,協(xié)程尤其是結(jié)合事件循環(huán)無(wú)論在編程模型還是語(yǔ)法上,看起來(lái)都是非常友好的單線程同步過(guò)程。 項(xiàng)目地址:https://git.io/pytips 要說(shuō)到線程(Thread)與協(xié)程(Coroutine)似乎總是需要從并行(Parallelism)與并發(fā)(Concurrency)談起...

    el09xccxy 評(píng)論0 收藏0
  • JAVA GC 原理詳解

    摘要:虛擬機(jī)棧區(qū)也就是通常所說(shuō)的棧區(qū),它描述的是方法執(zhí)行的內(nèi)存模型,每個(gè)方法被執(zhí)行的時(shí)候都創(chuàng)建一個(gè)棧幀,用于存儲(chǔ)局部變量表操作數(shù)棧動(dòng)態(tài)鏈接方法出口等。每個(gè)方法被調(diào)用到完成,相當(dāng)于一個(gè)棧幀在虛擬機(jī)棧中從入棧到出棧的過(guò)程。 大多數(shù)情況下我們對(duì)GC的了解都只是淺層含義上的,下面我們來(lái)詳細(xì)講解下內(nèi)部的一些實(shí)現(xiàn)原理。講解GC之前,我們得先了解下JVM的內(nèi)存結(jié)構(gòu),才能讓我們理解GC導(dǎo)致是干嘛的。 一.J...

    wangjuntytl 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<