SQL SERVER先斷定視圖能否存在然後再創立視圖的語句。本站提示廣大學習愛好者:(SQL SERVER先斷定視圖能否存在然後再創立視圖的語句)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL SERVER先斷定視圖能否存在然後再創立視圖的語句正文
Python中假如要應用線程的話,python的lib中供給了兩種方法。一種是函數式,一種是用類來包裝的線程對象。舉兩個簡略的例子願望起到拋磚引玉的感化,關於多線程編程的其他常識例如互斥、旌旗燈號量、臨界區等請參考python的文檔及相干材料。
1、挪用thread模塊中的start_new_thread()函數來發生新的線程,請看代碼:
### thread_example.py
import time
import thread
def timer(no,interval): #本身寫的線程函數
while True:
print 'Thread :(%d) Time:%s'%(no,time.ctime())
time.sleep(interval)
def test(): #應用thread.start_new_thread()來發生2個新的線程
thread.start_new_thread(timer,(1,1))
thread.start_new_thread(timer,(2,3))
if __name__=='__main__':
test()
這個是thread.start_new_thread(function,args[,kwargs])函數原型,個中function參數是你將要挪用的線程函數;args是講傳遞給你的線程函數的參數,他必需是個tuple類型;而kwargs是可選的參數。
線程的停止普通依附線程函數的天然停止;也能夠在線程函數中挪用thread.exit(),他拋出SystemExit exception,到達加入線程的目標。
2、經由過程挪用threading模塊繼續threading.Thread類來包裝一個線程對象。請看代碼:
import threading
import time
class timer(threading.Thread): #我的timer類繼續自threading.Thread類
def __init__(self,no,interval):
#在我重寫__init__辦法的時刻要記得挪用基類的__init__辦法
threading.Thread.__init__(self)
self.no=no
self.interval=interval
def run(self): #重寫run()辦法,把本身的線程函數的代碼放到這裡
while True:
print 'Thread Object (%d), Time:%s'%(self.no,time.ctime())
time.sleep(self.interval)
def test():
threadone=timer(1,1) #發生2個線程對象
threadtwo=timer(2,3)
threadone.start() #經由過程挪用線程對象的.start()辦法來激活線程
threadtwo.start()
if __name__=='__main__':
test()
其實thread和threading的模塊中還包括了其他的許多關於多線程編程的器械,例如鎖、准時器、取得激活線程列表等等,請年夜家細心參考python的文檔!