1. 程式人生 > >python學習—Day46—Queue模組(一)

python學習—Day46—Queue模組(一)

#@File :queue_1.py from threading import Thread import time from multiprocessing import Queue class Proceduer(Thread): def __init__(self, queue): super(Proceduer, self).__init__() self.queue = queue def run(self): try: for i in xrange(1, 10): print("put data is {0} to queue".format(i)) self.queue.put(
i) except Exception as e: print("put data error!") raise e class Consumer_odd(Thread): def __init__(self, queue): super(Consumer_odd, self).__init__() self.queue = queue def run(self): try: while not self.queue.empty: number = self.queue.get(block=True, timeout=3) if number%2 != 0: print("get {0} from queue ODD"
.format(number)) else: self.queue.put(number) time.sleep(1) print("####################### ODD time #####################") except Exception as e: raise e class Consumer_even(Thread): def __init__(self, queue): super(Consumer_even, self).__init__() self.queue = queue def run(self): try: while not
self.queue.empty: number = self.queue.get(block=True, timeout=3) if number%2 == 0: print("get {0} from queue even, thread name is: {1}".format(number, self.getName())) else: self.queue.put(number) time.sleep(1) print("################# even time ##########################") except Exception as e: raise e def main(): queue = Queue() p = Proceduer(queue=queue) p.start() p.join() time.sleep(1) c1 = Consumer_odd(queue=queue) c2 = Consumer_even(queue=queue) c1.start() c2.start() p.join() c2.join() print("All threads terminate!") if __name__ == '__main__': main()

相關推薦

python學習Day46Queue模組

#@File :queue_1.py from threading import Thread import time from multiprocessing import Queue class Proceduer(Thread): def __init__(self, queue): super(Pr

python標準庫常用模組-----------------------------time模組詳解及相關演示程式碼

要想了解time模組,我們需要首先了解一下時間的三種表現形式: 1.時間戳:當前距離1970年的秒數 2.格式化的字串:即2018年9月11日的這種表現形式 3.struct_time:元組時間,以元組的形式顯示時間,一共有九個元素 下面來介紹一下它具體的方法及示例程

Python學習初級程式設計例項

題目:有1、2、3、4四個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。 程式原始碼

少說話多寫程式碼之Python學習059——標準模組

heap堆是一種優先佇列,用優先佇列可以以任意順序增加物件。並且在任何時間找到最小元素。Python中有一個包含一些堆操作函式的模組heapq。包括如下函式, heappush(heap,x) 將x入堆 heappop(heap) 將堆中最小的元素彈出 heapify(heap) 將heap屬性

少說話多寫程式碼之Python學習058——標準模組集合

來看看集合(set)的使用。集合類set在sets模組中,Python2.3之後,集合類已經成為語言的一部分,無需再匯入sets模組。 先看看簡單的使用, print(set(range(10))) 輸出 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 集合中重複值是被忽略

Golang學習筆記--log模組

Golang的標準庫提供了log的機制,但是該模組的功能較為簡單(看似簡單,其實他有他的設計思路)。不過比手寫fmt. Printxxx還是強很多的。至少在輸出的位置做了執行緒安全的保護。其官方手冊見Golang log。這裡給出一個簡單使用的例子: package main import (

Python學習入門之列表

Python學習入門之列表(一) 列表是由一系列按特定順序排列的元素組成的,跟其他語言的陣列類似 初始化陣列 names = ["zr","hc","ws","hj","fz"] nums = [1,2,3,9,4,5,8,7,6] 可以直接使用print函式直接將陣列所有

Python學習過程筆記整理

編碼方式-Utf8編碼方式:# -*- coding: utf-8 -*-註釋-行註釋 #-塊註釋 '''...'''或"""..."""基礎語法-print()輸出預設換行,不換行需要末尾加end=""1 print("A",end="") 2 print("B")-inp

學習《selenium2自動化測試基於python》遇到的問題

pypi tools bsp sel dir python 解決方案 打不開 什麽 問題一: 通過cmd,用Python安裝setuptools時,報錯no module named ‘six‘等類似情況時,解決方案: 翻譯過來就是缺少SIX的模塊,直接到官網打開,下載

python程式設計:從入門到實踐學習筆記Django入門

  建立應用程式 django專案由一系列應用程式組成,他們協同工作,讓專案稱謂一個整體。首先我們執行命令python manage.py startapp learning_logs。     定義模型 開啟剛剛我們建立的資料夾,並修改mod

python學習之【第十七篇】:Python中的面向物件

1.什麼是類和類的物件? 類是一種資料結構,我們可以用它來定義物件,後者把資料值和行為特性融合在一起,類是現實世界的抽象的實體以程式設計形式出現。例項是這些物件的具體化。類是用來描述一類事物,類的物件指的是這一類事物的一個個體。例如:“人”就是一個類,而男人,女人,小孩等就是“人”這個類的例項物件;再比如“

Python機器學習基礎教程筆記

description: 《Python機器學習基礎教程》的第一章筆記,書中用到的相關程式碼見github:https://github.com/amueller/introduction_to_ml_with_python ,筆記中不會記錄。 為何選擇機器學習 人為制訂決

python學習之-hashlib模組加密演算法模組

hash演算法模組內有很多種,如md5、sha1等,只是加密的程度不一樣 hash是一種演算法 該演算法接收傳入的文字內容,經過hash運算得到一串hash值 hash值具備三個特點: 1. 如果傳入的內容相同,得到hash一定相同 2. 不能根據hash值反推出內容(無法反解,但是目前已被破解)

python學習之-re模組正則表示式模組

什麼是正則表示式 正則就是用一些具有特殊含義的符號組合到一起(稱為正則表示式)來描述字元或者字串的方法。或者說:正則就是用來描述一類事物的規則。(在Python中)它內嵌在Python中,並通過 re 模組實現。正則表示式模式被編譯成一系列的位元組碼,然後由用 C 編寫的匹配引擎執行。 生活中處處都是正則

python學習之-subprocess模組子程序模組

什麼是程序 一個程式執行起來了就是一個程序 但是程式本身不是程序,程式是一對程式碼而已 所以程序就是一個抽象的概念,就是程式執行起來的一個過程 程序和程序之間是相互獨立的,互不影響 如何理解子程序和父程序 抽象的說一個QQ程式是一個父程序,word就是一個子程序,兩個互不干預,當然這只是一個比喻

少說話多寫程式碼之Python學習056——標準模組自定義模組

我們前面知道了如何匯入外部模組,比如常用的math模組, import math print(math.sin(90)) 輸出 0.8939966636005579 我們也可以自己定義一個模組,比如我的程式都在這個目錄下, 圖1 然後在當前目錄下,再建立一個MyFirstLi

少說話多寫程式碼之Python學習057——標準模組看看一些系統模組

Python語言中有很多系統的模組,我們簡單看幾個,方便以後自己引用系統模組。一下這些系統模組僅做了解即可。 1、sys sys模組能夠訪問Python直譯器有關的一些函式和變數, argv  命令列引數 exit([arg]) 退出當前程式 modules  對映模組名

少說話多寫程式碼之Python學習060——標準模組雙端佇列

雙端佇列可以從佇列的兩端加入和刪除元素。比如,在需要按照元素增加的順序來移除元素時非常有用。 看下面的使用, 先產生一個雙端佇列。 from collections import deque q = deque(range(5)); print(q) 輸出 deque([0, 1, 2,

【深度學習】線性迴歸原理及python從0開始實現

文章目錄 線性迴歸 單個屬性的情況 多元線性迴歸 廣義線性模型 實驗資料集 介紹 相關連結 Python實現 環境 編碼

少說話多寫程式碼之Python學習061——標準模組time模組

日期模組主要是處理日期的,可以實現獲取當前時間、操作時間和日期、將字串格式化為日期以及將日期格式化為字串。 主要函式有, asctime 將時間元組轉換為字元 localtime 將秒數轉換為日期元組, mktime 將時間元組轉換為本地時間 sleep 休眠 strptime 將字串解析為時間