主程式也是乙個程序,只是我們看不到,需要借助函式列印。包括子程序也可以列印。
threading.current_thread() 檢視當前執行緒
import threadingimport time
def run(n):
print("task ",n)
time.sleep(2)
print('task done',n,threading.current_thread())
start_time = time.time()
t_objs =
for i in range(5):
t = threading.thread(target=run,args=("t-%s" %i,))
t.start()
for t in t_objs:
t.join()
print('--------------all threads has finished------------',threading.current_thread())
print('cost:',time.time() - start_time )
執行結果:
task t-0task t-1
task t-2
task t-3
task t-4
task done t-4 task done t-3 task done t-0 task done t-2 task done t-1 --------------all threads has finished------------ <_mainthread(mainthread, started 5628)>
cost: 2.010205030441284
threading.active_count() 活躍的執行緒個數守護執行緒也是子執行緒,主要是服務於主線程,當主線程退出以後,守護執行緒也會隨之結束。程式會等待非守護執行緒執行結束以後在退出。
import threadingimport time
def run(n):
print("task ",n)
time.sleep(2)
print('task done',n,threading.current_thread())
start_time = time.time()
t_objs =
for i in range(5):
t = threading.thread(target=run,args=("t-%s" %i,))
t.setdaemon(true)# 把當前執行緒設定成守護執行緒
t.start()
print('--------------all threads has finished------------',threading.current_thread(),threading.active_count())
print('cost:',time.time() - start_time )
執行結果
task t-0task t-1
task t-2
task t-3
task t-4
--------------all threads has finished------------ <_mainthread(mainthread, started 8256)> 6
cost: 0.0010001659393310547
顯示的是有6個子執行緒,但是程式並沒有等待就退出了,原因是沒有非守護程序。
python守護程序
去 python daemon 1.5.2 3.el5.noarch.rpm 測試 test.py usr bin python import daemon,time print 1 p daemon.daemoncontext p.open for i in range 0,100 print t...
Python守護程序
關於python守護程序,網上查了一些資料,做下彙總 1.python例項 之五python守護程序和指令碼單例執行 2.python 模擬linux守護程序 3.python中fork 函式生成子程序分析 4.討論一下os.umask 和os.setsid 5.用python編寫linux守護程序...
python程序守護
參考 vamei python守護程序daemon實現 如何建立乙個程序 實際上,當計算機開機的時候,核心 kernel 只建立了乙個init程序。linux核心並不提供直接建立新程序的系統呼叫。剩下的所有程序都是init程序通過fork機制建立的。新的程序要通過老的程序複製自身得到,這就是fork...