谁能讲讲push和pull模式是什么意思?(参与有分) [问题点数:100分,结帖人mickeyfirst]

mickeyfirst
mickeyfirst
等级:
结帖率:94.12%
楼主 发表于: 2002-06-01 15:45:43
谁能讲讲push和pull模式是什么意思?
谢谢

 
分享到:

回复次数:11

Token

Token
等级:

#1
得分:10

回复于:
2002-06-01 19:32:13

是指DirectShow中的两种模式吗
capboy

capboy
等级:

#2
得分:20

回复于:
2002-06-01 20:08:07

字面意思就比较清楚了,push推...有主动的意思.
数据的递交都有自己完成,应用在时时的模式的情况下,比如直播什么的.
pull拉...被动的.
数据需要自己保存,当其他filter有需要的时候,就会要求从你这里获得数据,你不知道什么时候会有这个要求,所以你需要保存所有的数据以供需求.当然用完了例外.
xingtian713

xingtian713
等级:

#3
得分:10

回复于:
2002-06-01 22:20:08

push模式一般用于实时流的播放,视频采集卡捕获的视频流,推向缓冲区,可以参考directx show中的ball实例,而pull模式一般用于文件回放,filter从缓冲区中取数据,可以参考memfile例子
liz22

liz22
等级:

#4
得分:0

回复于:
2002-06-04 14:13:09

ball实例怎么用啊?
jimconrad

jimconrad
等级:

#5
得分:20

回复于:
2002-06-05 16:06:43

push和pull模式是observer对象行为模式式中涉及到的概念。该模式中有目标(subject)和观察者(observer)两个主要参与
者。目标向观察者发送关于数据改变的详细信息,而不管他们需要否,我们称之为push模式;另一种是pull模式,目标除最小通知外什么也不送出,而在此
后由观察者显式的向目标询问细节。

At one extreme, which we call the push model, the subject sends observers detailed information about the change, whether they want it or not. At the other extreme is the pull model; the subject sends nothing but the most minimal notification, and observers ask for details explicitly thereafter.

observer很典型的一个例子就是 CWnd对象 和 该对象对应的窗口,前者是subject,后者是observer。在dxshow中,source filter是subject,downstream filters是observer。

jimconrad

jimconrad
等级:

#6
得分:10

回复于:
2002-06-05 16:09:50

参考《设计模式》5.7节(page198)。
winne_ll

winne_ll
等级:

#7
得分:10

回复于:
2002-06-05 16:43:10

UP
xingtian713

xingtian713
等级:

#8
得分:10

回复于:
2002-06-05 18:13:51

你可以用graph edit来测试它,在directx show文档中有详细说明,你可以到文档的samples目录下去查查
hquwl

hquwl
等级:

#9
得分:10

回复于:
2002-06-05 20:01:40

帮你up一下。

ZT————pull push mode的更多相关文章

  1. Git 一次性 pull push 所有的分支

    /********************************************************************************* * Git 一次性 pull pu ...

  2. linux服务器git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  3. 解决git pull/push每次都需要输入密码问题 和 HttpRequestException encountered

    如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁 ...

  4. linux git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  5. docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://xxxx.com/: x509: certificate signed by unknown authority

    docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://harbor.op.xxxx.com/v2/: x509: cert ...

  6. linux服务器git pull/push时避免频繁输入账号密码

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  7. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

    实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...

  8. 使用 expect 重启失败的 git pull/push 操作

    问题的提出 最近使用 github 上传.下载项目代码时,经常会卡很久,有时候在命令行打了 git push 然后就去上厕所了,结果等我回来的时候,发现 push 早已经失败了,还得重新提交一下.如果 ...

  9. Docker DevOps实战:GitLab+Jenkins(1)- GitLab容器搭建、使用SourceTree pull/push项目

    GitLab容器搭建 # 创建GitLab容器# --restart always #重启,容器自动重启# --privileged=true #容器内使用root权限 [root@localhost ...

随机推荐

  1. Zookeeper概念学习系列之分布式事务

    不多说,直接上干货! 初学者来说,肯定会有这么一个疑问.为什么会在zookeeper里牵扯到分布式事务? zookeeper到底是什么? zookeeper实际上是yahoo开发的,用于分布式中一致性 ...

  2. MySql的索引操作

    索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录.索引是提高数据库性能的重要方式.MySQL中,所有的数据类型都可以被索引.MySQL的索引包括普通索引.唯一性索引.全文索引.单列索引 ...

  3. JavaScript对象中的constructor属性

    constructor属性始终指向创建当前对象的构造函数. 比如下面的例子: // 等价于 var foo = new Array(1, 56, 34, 12); var arr = [1, 56, ...

  4. java 类与对象基础整理

    之前学习javaSE的时候,没有针对性地对对类与对象的一些基础进行整理,下面这些内容是笔记内容整理后的,希望以后自己可以通过这些博客时常复习! 一.类and对象的基础 类似于类的生命啊,类与对象的关系 ...

  5. URL 编码 之 我见

    URL编码 编辑 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的 ...

  6. CSS3之 :nth-child(n)语法讲解

    语法: E:nth-child(n){ sRules } * 匹配父元素索引为n的子元素E :nth-child(n) 让你匹配到父元素的任一子元素: Figure 1:<section id= ...

  7. node.js缓存处理方式

    Node.JS缓存处理分为客户端和服务端两个部分. 客户端的缓存主要是利用浏览器对HTTP协议响应头中cache-control和expires字段的支持.浏览器在得到明确的响应头后,会将文件缓存在本 ...

  8. Python中@修饰符的作用。

    '@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行.也就是说@A def f(): 是非法的. 只可以在模块或类定义层内对函数进行修饰, ...

  9. ubuntu sudo不能用的解决办法

    输入sudo 出现 sudo: /etc/sudoers 可被任何人写 sudo: 没有找到有效的 sudoers 资源,退出 sudo: sudoers的权限被改了 pkexec chmod 044 ...

  10. JVM jmap

    需求:经常会因为OOM而导致系统挂掉,很多服务无法连接,所以准备了解一下. 参考:http://www.open-open.com/lib/view/open1390916852007.html 一. ...