自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

有關(guān)Python應用程序進行解讀學習

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

Python應用程序為用戶提供了許多強大的圖形處理的能力,并提供廣泛的圖形文件格式支持,通過它就可在zope中連接mysql數(shù)據(jù)庫,希望本文能夠給大家?guī)碜约合胍男畔ⅰ?/P>

這個方法基本和join是相反的。當我們在程序運行中,執(zhí)行一個主線程,如果主線程又創(chuàng)建一個子線程,主線程和子線程就分兵兩路。分別運行,那么當主線程完成想退出時,會檢驗子線程是否完成。如果子線程未完成,則主線程會等待子線程完成后再退出。

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

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

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

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

一般來說當線程對象的run方法執(zhí)行結(jié)束或者在執(zhí)行中拋出異常的話,那么這個線程就會結(jié)束了。系統(tǒng)會自動對“dead”狀態(tài)線程進行清理。

  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. 上面這個例子,按照我們設(shè)想的輸出時:  
  40. fun1 done  
  41.  
  42. fun2 done  
  43.  
  44.  t1 

但是實際上我們在交互模式,主線程只有在Python應用程序退出時終止,所以結(jié)果t2也是被打印出來啦。

【編輯推薦】

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

2010-02-22 15:49:35

Python應用程序

2010-03-01 17:15:03

Python程序開發(fā)

2015-10-21 13:57:09

WatchKit 要點開發(fā)

2010-06-28 09:10:14

開源

2010-02-22 14:54:47

Python應用程序

2021-02-05 11:55:37

PythonWindows平臺代碼

2010-02-04 09:41:03

Android應用程序

2010-01-25 10:57:57

Android系統(tǒng)應用

2010-02-07 10:21:27

Android應用程序

2009-07-14 18:10:38

Swing應用程序框架

2010-02-26 15:43:02

Python線程

2010-03-01 15:23:24

Python操作語言

2021-09-26 08:30:31

Python應用程序代碼

2010-03-01 15:57:59

Python開發(fā)工具

2010-02-26 11:20:53

Python應用

2023-02-01 09:32:50

2024-01-15 06:05:05

DockerGol ang應用程序

2021-08-30 14:23:05

BlazorHTTP請求

2022-08-31 11:46:46

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

2009-08-24 16:02:10

C# Windows應
點贊
收藏

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