Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于sink设计的一个小疑问 #9

Open
SuperNoobTao opened this issue Jan 1, 2020 · 1 comment
Open

关于sink设计的一个小疑问 #9

SuperNoobTao opened this issue Jan 1, 2020 · 1 comment

Comments

@SuperNoobTao
Copy link

SuperNoobTao commented Jan 1, 2020

图片

作者大大你好,我似乎陷入了某种困境,在读完上面这句话:你可能会觉得这很简单,只需要从流水线的head开始依次执行每一步的操作(包括回调函数)就行了。这听起来似乎是可行的,但是你忽略了前面的Stage并不知道后面Stage到底执行了哪种操作,以及回调函数是哪种形式。换句话说,只有当前Stage本身才知道该如何执行自己包含的动作。这就需要有某种协议来协调相邻Stage之间的调用关系。

我竟然感觉"只需要从流水线的head开始依次执行每一步的操作(包括回调函数)就行了"这句话没问题。。。
1.当前stage做好自己事就好了吧,为啥要知道后面的stage呢?
2.尽管使用了sink,也还是当前sink做自己事,也没有管后面的sink额。。
3.如果说是为了协调调用关系的话,stage本来也就是双链的,上一个是谁,下一个是谁,清楚的很。
哭了,所以我不太清楚设计sink的目的,看起来似乎只是把处理数据的操作单独拎了出来。。。求解惑呀../(ㄒoㄒ)/~~

@SuperNoobTao SuperNoobTao changed the title 一个小疑问 关于sink设计的一个小疑问 Jan 1, 2020
@a1667834841
Copy link

图片

作者大大你好,我似乎陷入了某种困境,在读完上面这句话:你可能会觉得这很简单,只需要从流水线的head开始依次执行每一步的操作(包括回调函数)就行了。这听起来似乎是可行的,但是你忽略了前面的Stage并不知道后面Stage到底执行了哪种操作,以及回调函数是哪种形式。换句话说,只有当前Stage本身才知道该如何执行自己包含的动作。这就需要有某种协议来协调相邻Stage之间的调用关系。

我竟然感觉"只需要从流水线的head开始依次执行每一步的操作(包括回调函数)就行了"这句话没问题。。。 1.当前stage做好自己事就好了吧,为啥要知道后面的stage呢? 2.尽管使用了sink,也还是当前sink做自己事,也没有管后面的sink额。。 3.如果说是为了协调调用关系的话,stage本来也就是双链的,上一个是谁,下一个是谁,清楚的很。 哭了,所以我不太清楚设计sink的目的,看起来似乎只是把处理数据的操作单独拎了出来。。。求解惑呀../(ㄒoㄒ)/~~

我的理解是 作者说操作分短路操作和非短路操作 当执行到某一阶段时,需要判断下游stage是否含有短路操作,方便及时停止执行后面的操作,所以设计成双向链表

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants