[连载] 用C#进行思考(侧注1.1)现实生活中的生产者和消费者实例
2006-09-08 02:16
267 查看
面向对象的思想本来就是模式现实生活进行编程的一种方式,所以从生活中寻找一些实例,更有助于理解生产者和消费者。
顾客和理发师。理发师(类)提供理发的功能(方法) ,是生产者;顾客(类)使用理发师的理发功能,是消费者。
顾客可以对理发师提出各种要求(调用方法时传递参数),而理发师不能直接对顾客提出要求;但理发师可能会让顾客“低下头”、“再抬起一点”,这需要通过回调“委婉”地完成。
老板和员工。员工(类)提供做各种工作的功能(方法),使生产者;老板(类)使用员工的各种功能,要求他们做各种工作,是消费者。
老板可以命令员工做各种不同的工作(调用不同的方法),而员工不能对老板直接提出要求(呵呵,符合常理吧?);不过员工可能会说“老板,请你检查一下我的工作”或“老板,请你分给我xx资源”,这也是不能直接调用的,也要通过回调“委婉”地完成。
类似的例子有很多,相信每个读者都能想出一些来。欢迎跟贴~!
顾客和理发师。理发师(类)提供理发的功能(方法) ,是生产者;顾客(类)使用理发师的理发功能,是消费者。
顾客可以对理发师提出各种要求(调用方法时传递参数),而理发师不能直接对顾客提出要求;但理发师可能会让顾客“低下头”、“再抬起一点”,这需要通过回调“委婉”地完成。
老板和员工。员工(类)提供做各种工作的功能(方法),使生产者;老板(类)使用员工的各种功能,要求他们做各种工作,是消费者。
老板可以命令员工做各种不同的工作(调用不同的方法),而员工不能对老板直接提出要求(呵呵,符合常理吧?);不过员工可能会说“老板,请你检查一下我的工作”或“老板,请你分给我xx资源”,这也是不能直接调用的,也要通过回调“委婉”地完成。
类似的例子有很多,相信每个读者都能想出一些来。欢迎跟贴~!
相关文章推荐
- [连载] 用C#进行思考(一)生产者和消费者
- [连载] 用C#进行思考(三 之 前传)用委托实现回调
- [连载] 用C#进行思考(二)Pull模式和Push模式
- [连载] 用C#进行思考(前言)
- Linux多线程消费者和生产者模型实例(互斥锁和条件变量使用)
- C# 进行TcpIP通讯实例
- 生产者消费者实例
- kafka 生产者和消费者实例
- Linux生产者消费者问题编程实例
- <转载>生产者与消费者(C#)
- Linux下进程的同步相互排斥实例——生产者消费者
- 多线程--C#利用多线程实现消费者和生产者模式
- 黑马程序员——多线程操作经典实例:生产者消费者问题
- Python自定义进程池实例分析【生产者、消费者模型问题】
- 基于阻塞队列的生产者消费者C#并发设计
- c# 对一下XML文档进行添加删改的实例
- c#线程--生产者和消费者
- 生产者消费者问题(C#)
- 条件变量实例:生产者-消费者模式的后进先出型(std::stack)缓冲区
- 生产者消费者模型(使用lock.condition进行分组唤醒)