關(guān)于Python中多線程的案例分析-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)專注于寧晉網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供寧晉營(yíng)銷型網(wǎng)站建設(shè),寧晉網(wǎng)站制作、寧晉網(wǎng)頁(yè)設(shè)計(jì)、寧晉網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造寧晉網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供寧晉網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

小編給大家分享一下關(guān)于Python中多線程的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python 里有一個(gè) threading 模塊,其中提供了一個(gè)函數(shù):

threading.Thread(target=function, args=(), kwargs={})

function 是開發(fā)者定義的線程函數(shù),

args 是傳遞給線程函數(shù)的參數(shù),必須是tuple類型,

kwargs 是可選參數(shù),字典類型。

調(diào)用 threading.Thread 之后,會(huì)創(chuàng)建一個(gè)新的線程,參數(shù) target 指定線程將要運(yùn)行的函數(shù),args 和 kwargs 則指定函數(shù)的參數(shù)來(lái)執(zhí)行 

function 函數(shù)。

改寫一下前面的代碼,將抓取的部分放在一個(gè)函數(shù)中:

def get_weather(city):
    req = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=%s' % city)
    dic_city = req.json()

    city_data = dic_city.get('data')  # 沒(méi)有’data‘的話返回 []
    print(city_data.get('city'))    if city_data:
        city_forecast = city_data['forecast'][0]  # 下面的都可以換成'get'方法
        print(city_forecast.get('date'))
        print(city_forecast.get('high'))
        print(city_forecast.get('low'))
        print(city_forecast.get('type'))    else:
        print('未獲得')
    print()

之后,程序采用了三個(gè)循環(huán),在第一個(gè)循環(huán)中,針對(duì)每一個(gè)城市,都創(chuàng)建了一個(gè)新線程,并將線程加入到一個(gè)列表中,用于之后的啟動(dòng)。

threads = []
cities = ['北京', '南京', '上海', '深圳', '廣州', '杭州', '蘇州', '天津', '西安', '成都']
files = range(len(cities))for i in files:  # 創(chuàng)建線程
    t = threading.Thread(target=get_weather, args=(cities[i],))
    threads.append(t)

在第二個(gè)循環(huán)中,start 正式開啟子線程;

for i in files:
    threads[i].start()

在第三個(gè)循環(huán)中,join 用來(lái)同步數(shù)據(jù),主線程運(yùn)行到這一步,將會(huì)停下來(lái)等待子線程運(yùn)行完畢。沒(méi)有這句,主線程則會(huì)忽略子線程,運(yùn)行

完自己的代碼后結(jié)束程序。

for i in files:
    threads[i].join()

看完了這篇文章,相信你對(duì)關(guān)于Python中多線程的案例分析有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前名稱:關(guān)于Python中多線程的案例分析-創(chuàng)新互聯(lián)
標(biāo)題URL:http://bm7419.com/article8/dsdhop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信公眾號(hào)、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站收錄網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化