偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

有關(guān)Python應(yīng)用程序進(jìn)行解讀學(xué)習(xí)

開(kāi)發(fā) 后端
Python應(yīng)用程序被業(yè)內(nèi)稱(chēng)為是一門(mén)簡(jiǎn)單明了的語(yǔ)言,在當(dāng)初設(shè)計(jì)它的時(shí)候,作者有了一個(gè)獨(dú)特想法,就是讓剛剛接觸到開(kāi)發(fā)語(yǔ)言的人們可以輕松上手。

Python應(yīng)用程序為用戶(hù)提供了許多強(qiáng)大的圖形處理的能力,并提供廣泛的圖形文件格式支持,通過(guò)它就可在zope中連接mysql數(shù)據(jù)庫(kù),希望本文能夠給大家?guī)?lái)自己想要的信息。

這個(gè)方法基本和join是相反的。當(dāng)我們?cè)诔绦蜻\(yùn)行中,執(zhí)行一個(gè)主線(xiàn)程,如果主線(xiàn)程又創(chuàng)建一個(gè)子線(xiàn)程,主線(xiàn)程和子線(xiàn)程就分兵兩路。分別運(yùn)行,那么當(dāng)主線(xiàn)程完成想退出時(shí),會(huì)檢驗(yàn)子線(xiàn)程是否完成。如果子線(xiàn)程未完成,則主線(xiàn)程會(huì)等待子線(xiàn)程完成后再退出。

但是有時(shí)候我們需要的是,只要主線(xiàn)程完成了,不管子線(xiàn)程是否完成,都要和主線(xiàn)程一起退出,這時(shí)就可以用setDaemon方法啦。如果你要?jiǎng)?chuàng)建一個(gè)線(xiàn)程對(duì)象,很簡(jiǎn)單,只要你的類(lèi)繼承Python應(yīng)用程序,然后在__init__里首先調(diào)用threading.Thread的__init__方法即可:

這才僅僅是個(gè)空線(xiàn)程,我可不是要他拉空車(chē)的,他可得給我干點(diǎn)實(shí)在活。很簡(jiǎn)單,重寫(xiě)類(lèi)的run()方法即可,把你要在線(xiàn)程執(zhí)行時(shí)做的事情都放到里面。以上代碼我們讓這個(gè)線(xiàn)程在執(zhí)行之后每隔1秒輸出一次信息到屏幕,10次后結(jié)束getName()是threading.Thread類(lèi)的一個(gè)方法,用來(lái)獲得這個(gè)線(xiàn)程對(duì)象的name。還有一個(gè)方法setName()當(dāng)然就是來(lái)設(shè)置這個(gè)線(xiàn)程對(duì)象的name的了。

Python應(yīng)用程序不是已經(jīng)start了嗎?為什么不稱(chēng)為“running”狀態(tài)呢?其實(shí)是有原因的。因?yàn)槲覀兊挠?jì)算機(jī)一般是不具有真正并行處理能力的。我們所謂的多線(xiàn)程只是把時(shí)間分成片段,然后隔一個(gè)時(shí)間段就讓一個(gè)線(xiàn)程執(zhí)行一下,然后進(jìn)“sleeping ”狀態(tài),然后喚醒另一個(gè)在“sleeping”的線(xiàn)程。

如此循環(huán)runnable->sleeping->runnable... ,只是因?yàn)橛?jì)算機(jī)執(zhí)行速度很快,而時(shí)間片段間隔很小,我們感受不到,以為是同時(shí)進(jìn)行的。所以說(shuō)一個(gè)線(xiàn)程在start了之后只是處在了可以運(yùn)行的狀態(tài),他什么時(shí)候運(yùn)行還是由系統(tǒng)來(lái)進(jìn)行調(diào)度的。那一個(gè)線(xiàn)程什么時(shí)候會(huì)“dead”呢?

一般來(lái)說(shuō)當(dāng)線(xiàn)程對(duì)象的run方法執(zhí)行結(jié)束或者在執(zhí)行中拋出異常的話(huà),那么這個(gè)線(xiàn)程就會(huì)結(jié)束了。系統(tǒng)會(huì)自動(dòng)對(duì)“dead”狀態(tài)線(xiàn)程進(jìn)行清理。

  1. import threading  
  2.  
  3. import time  
  4.  
  5. class myThread(threading.Thread):  
  6.  
  7.     def __init__(self,threadname):  
  8.  
  9.         threading.Thread.__init__(self,name=threadname)  
  10.  
  11.     def run(self):  
  12.  
  13.         time.sleep(5)  
  14.  
  15.         print self.getName()  
  16.  
  17. def fun1():  
  18.  
  19.     t1.start()  
  20.  
  21.     print 'fun1 done'  
  22.  
  23. def fun2():  
  24.  
  25.     t2.start()  
  26.  
  27.     print 'fun2 done'  
  28.  
  29. t1=myThread('t1')  
  30.  
  31. t2=myThread('t2')  
  32.  
  33. t2.setDaemon(True)  
  34.  
  35. fun1()  
  36.  
  37. fun2()  
  38.  
  39. 上面這個(gè)例子,按照我們?cè)O(shè)想的輸出時(shí):  
  40. fun1 done  
  41.  
  42. fun2 done  
  43.  
  44.  t1 

但是實(shí)際上我們?cè)诮换ツJ剑骶€(xiàn)程只有在Python應(yīng)用程序退出時(shí)終止,所以結(jié)果t2也是被打印出來(lái)啦。

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. 對(duì)Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢(shì)所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來(lái)源: 新浪科技
相關(guān)推薦

2010-02-22 15:49:35

Python應(yīng)用程序

2015-10-21 13:57:09

WatchKit 要點(diǎn)開(kāi)發(fā)

2010-06-28 09:10:14

開(kāi)源

2010-03-01 17:15:03

Python程序開(kāi)發(fā)

2010-02-04 09:41:03

Android應(yīng)用程序

2010-02-22 14:54:47

Python應(yīng)用程序

2021-02-05 11:55:37

PythonWindows平臺(tái)代碼

2010-01-25 10:57:57

Android系統(tǒng)應(yīng)用

2010-02-07 10:21:27

Android應(yīng)用程序

2009-07-14 18:10:38

Swing應(yīng)用程序框架

2010-02-26 11:20:53

Python應(yīng)用

2022-08-31 11:46:46

物聯(lián)網(wǎng)

2021-08-30 14:23:05

BlazorHTTP請(qǐng)求

2024-01-15 06:05:05

DockerGol ang應(yīng)用程序

2021-09-26 08:30:31

Python應(yīng)用程序代碼

2010-03-01 15:57:59

Python開(kāi)發(fā)工具

2010-02-26 15:43:02

Python線(xiàn)程

2010-03-01 15:23:24

Python操作語(yǔ)言

2023-02-01 09:32:50

2010-01-28 09:44:08

C++應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)