久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Python中的多線程解析

      什么是線程:

      線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位(程序執(zhí)行流的最小單元)。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。(線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單元)

      線程和進(jìn)程的區(qū)別:

      (1)線程共享內(nèi)存空間;進(jìn)程的內(nèi)存是獨(dú)立的

      (2)同一個(gè)進(jìn)程的線程之間可以直接交流;兩個(gè)進(jìn)程想通信,必須通過一個(gè)中間代理來實(shí)現(xiàn)

      (3)創(chuàng)建新線程很簡單; 創(chuàng)建新進(jìn)程需要對(duì)其父進(jìn)程進(jìn)行一次克隆

      (4)一個(gè)線程可以控制和操作同一進(jìn)程里的其他線程;但是進(jìn)程只能操作子進(jìn)程

      (5)改變主線程(如優(yōu)先權(quán)),可能會(huì)影響其它線程;改變父進(jìn)程,不影響子進(jìn)程

      現(xiàn)在pc都是多核的,使用多線程能充分利用 CPU 來提供程序的執(zhí)行效率
      線程:
      線程是一個(gè)基本的 CPU 執(zhí)行單元,它必須依托于進(jìn)程存活
      進(jìn)程:
      進(jìn)程是指一個(gè)程序在給定數(shù)據(jù)集合上的一次執(zhí)行過程,是系統(tǒng)進(jìn)行資源分配和運(yùn)行調(diào)用的獨(dú)立單位。
      可以簡單地理解為操作系統(tǒng)中正在執(zhí)行的程序。也就說,每個(gè)應(yīng)用程序都有一個(gè)自己的進(jìn)程

      每一個(gè)進(jìn)程啟動(dòng)時(shí)都會(huì)最先產(chǎn)生一個(gè)線程,即主線程。然后主線程會(huì)再創(chuàng)建其他的子線程

      兩者的區(qū)別
      線程必須在某個(gè)進(jìn)行中執(zhí)行。
      一個(gè)進(jìn)程可包含多個(gè)線程,其中有且只有一個(gè)主線程。
      多線程共享同個(gè)地址空間、打開的文件以及其他資源。
      多進(jìn)程共享物理內(nèi)存、磁盤、打印機(jī)以及其他資源

      示例:程序中有兩個(gè)線程,一個(gè)主線程,一個(gè)是我們創(chuàng)建的子線程

      Python中的多線程解析

      from threading import Thread

      def Foo(arg):
      print arg

      print 'before'
      t1 = Thread(target=Foo,args=(1,))
      t1.start()
      print t1.getName()
      t2 = Thread(target=Foo,args=(2,))
      t2.start()
      print t2.getName()
      print 'after'

      Python中的多線程解析

      #添加t1.setDaemon(True)主線程沒有結(jié)束,那么子線程還會(huì)在執(zhí)行,什么時(shí)候主線程序執(zhí)行完了,子線程序就跟著主線程一起銷毀了。

      Python中的多線程解析

      from threading import Thread
      import time
      def Foo(arg):
      for item in range(10):
      print item
      time.sleep(1)
      print 'before'
      t1 = Thread(target=Foo,args=(1,))
      t1.setDaemon(True)
      t1.start()
      print 'after'

      time.sleep(5)

      Python中的多線程解析

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)