首页 > 其他 > 详细

生产者与消费者模型,分布式系统

时间:2017-10-12 18:37:18      阅读:374      评论:0      收藏:0      [点我收藏+]

 

生产者与消费者模型

import time,random,multiprocessing
def produce(name,q):
    for i in range(20):
        time.sleep(random.randint(1,2))
        q.put(‘包子{}‘.format(i))
        print(‘{}生产了包子{}‘.format(name,i))
    # q.put(‘q‘)
def consumer(name,q):
    while True:
        time.sleep(random.randint(1,2))
        date=q.get()
        if date==‘q‘:
            break
        print(‘{} 吃了 {}‘.format(name,date))


if __name__ == ‘__main__‘:
    q=multiprocessing.Queue()
    p=multiprocessing.Process(target=produce,args=(‘egon‘,q))
    c=multiprocessing.Process(target=consumer,args=(‘alex‘,q))
    p.start()
    c.start()
    p.join()
    q.put(‘q‘)

  生产者与消费者两个子进程,同时开启,通过队列q,进行数据上的通信。q在主进程创建,作为参数传给生产者,消费者两个子进程。

  程序中两类角色:生产者,消费者。

  功能:通过引用第三方队列q,平衡生产者与消费者之间的速度差异。

 

 

分布式系统

  分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。           ——百度百科

生产者与消费者模型,分布式系统

原文:http://www.cnblogs.com/654321cc/p/7657231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!