码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-10-12 19:01:10      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:之间   code   rgs   内聚   join   通信   操作系统   https   ted   

 

生产者与消费者模型

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

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

标签:之间   code   rgs   内聚   join   通信   操作系统   https   ted   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!