日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python線程編程解決異步線程中速度不同的方案

在計算機的實際相關的應用中你是否對兩個相關異步線程速度產生不同時,而產生一些相關的問題,針對這一相關問題,Python線程編程就可以巧妙的解決相關的問題,以下是文章的具體介紹。

我們經(jīng)常會采用生產者/消費者關系的兩個線程來處理一個共享緩沖區(qū)的數(shù)據(jù)。例如一個生產者線程接受用戶數(shù)據(jù)放入一個共享緩沖區(qū)里,等待一個消費者線程對數(shù)據(jù) 取出處理。但是如果緩沖區(qū)的太小而生產者和消費者兩個異步線程的速度不同時,容易出現(xiàn)一個線程等待另一個情況。

為了盡可能的縮短共享資源并以相同速度工作 的各線程的等待時間,我們可以使用一個“隊列”來提供額外的緩沖區(qū)。

創(chuàng)建一個“隊列”對象

 
 
 
  1. import Queue
  2. myqueue = Queue.Queue(maxsize = 10)Queue.Queue

類即是一個隊列的同步實現(xiàn)。隊列長度可為無限或者有限。可通過Queue的構造函數(shù)的可選參數(shù)maxsize來設定隊列長度。如果maxsize小于1就表示隊列長度無限。將一個值放入隊列中

 
 
 
  1. myqueue.put(10)

調用隊列對象的put()方法在隊尾插入一個項目。put()有兩個參數(shù),***個item為必需的,為插入項目的值;第二個block為可選參數(shù),默認為1。如果隊列當前為空且block為1,put()方法就使調用線程暫停,直到空出一個數(shù)據(jù)單元。如果block為0,put方法將引發(fā)Full異常。將一個值從隊列中取出

 
 
 
  1. myqueue.get()

調用隊列對象的get()方法從隊頭刪除并返回一個項目??蛇x參數(shù)為block,默認為1。如果隊列為空且block為1,get()就使調用線程暫停,直至有項目可用。如果block為0,隊列將引發(fā)Empty異常。我們用一個例子來展示如何使用

 
 
 
  1. Queue# queue_example.py

以上的內容就是對Python線程編程的相關實際應用方案的部分介紹。


本文標題:Python線程編程解決異步線程中速度不同的方案
本文URL:http://m.5511xx.com/article/dhhcjsc.html