python 实现简单的生产者消费者模式

今日写了一个简单的生产者消费者脚本,仅仅是简单的代码;后续如果可以的话以多线程的方式,实现快速生产或者快速消耗等扩展操作。环境为python27,运行在Windows上。
`#-- encoding:utf-8 --
import threading,Queue
import subprocess
workqueue = Queue.Queue()

def product():
for data in range(10):
ip = “192.168.0.” + str(data)
res = subprocess.call(“ping -n 2 -w 4 %s” %ip,stdout=subprocess.PIPE)
if res==0:
print(“ping {} success”.format(ip))
workqueue.put(ip)
else:
print(“ping {} failed”.format(ip))
workqueue.put(None)

def consumer():
while True:
data = workqueue.get()
if not data:
print(“data is None!”)
break
else:
print(“consumer data={}”.format(data))

class Product(object):
“”“oop product”""
def init(self):
print(“init”)

def ping_o(self,data):
    res = subprocess.call("ping -n 2 -w 4 %s" %data)
    if 0 == res:
        return data
    else:
        print("ping {} failed".format(data))

if name == “main”:
# p = threading.Thread(target=product)
# c = threading.Thread(target=consumer)
# p.start()
# c.start()

p = Product()
msg = input("input ip data:")
res = p.ping_o(msg)
print(res)`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值