python 多執行緒

2021-07-02 18:51:08 字數 1558 閱讀 4606

乙個python 多執行緒的例子

#coding=utf-8

#!/usr/bin/python

import threading

import time

import libvirt

class mig_thread (threading.thread): #繼承父類threading.thread

def __init__(self, domain, conn):

threading.thread.__init__(self)

self.domain = domain

self.conn = conn

def run(self): #把要執行的**寫到run函式裡面 執行緒在建立後會直接執行run函式

#set maximum bandwidth (in mib/s)

print self.domain.migratesetmaxspeed(30,0) #設定最大遷移速度

print self.domain.migrategetmaxspeed(0) #獲取最大遷移速度

start1 = time.time()

self.domain.migrate(self.conn,9,'q_new',none,0)

end1 = time.time()

#get migrate time

print "-----------------------"

print "migrate time: %s " % str(end1-start1)

print "-----------------------"

class set_thread(threading.thread):

def __init__(self,domain):

threading.thread.__init__(self)

self.domain = domain

def run(self):

self.domain.migratesetmaxdowntime(20,0) #設定最長停機時間

print "set downtime end"

conn_004 = libvirt.open('qemu+tcp://qn@server004/system') #建立乙個連線

conn_005 = libvirt.open('qemu+tcp://qn@server005/system')

vm_domain = conn_004.lookupbyname('q_new') #查詢虛擬機器

# 建立新執行緒

thread1 = mig_thread(vm_domain,conn_005)

thread2 = set_thread(vm_domain)

# 開啟執行緒,確保thread1先執行

thread1.start()

time.sleep(2)

thread2.start()

print "exiting main thread"

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...

python程式多執行緒 PYTHON多執行緒

在單執行緒的情況下,程式是逐條指令順序執行的。同一時間只做乙個任務,完成了乙個任務再進行下乙個任務。比如有5個人吃飯,單執行緒一次只允許乙個人吃,乙個人吃完了另乙個人才能接著吃,假如每個人吃飯都需要1分鐘,5個人就需要5分鐘。多執行緒的情況下,程式就會同時進行多個任務,雖然在同一時刻也只能執行某個任...