管道和流之间到底有什么区别?

用户1091856

我读到了有关管道和流的信息,但我仍然对其实现方式感到困惑。

启动一个程序,它从键盘向其发送数据的“标准输入”流(stdin)中读取数据。

我的问题是,与管道有何不同?管道允许我有一个将数据发送到管道的进程,而另一个进程正在从该管道读取数据。

按下键盘后,数据将发送到stdin,并且程序正在从同一流中读取数据。

就像管道一样,一旦将数据发送到此流,就会执行“读取”操作。

这些流是否通过管道传输?

马克·普洛特尼克

Unix终端I / O传统上已实现为某种队列较旧的内核使用了clists。V8 Unix使用了在大多数情况下,使用clists和流来实现用户进程(特别是文件描述符)和字符设备驱动程序(例如,串行端口或pty)之间的链接的一部分。

管道也是一个队列,但是它们链接用户进程(特别是一对文件描述符)。管道的实现方式多种多样,包括插座;特殊类型的文件;甚至STREAMS(STREAMS是V8流的衍生版本。)

因此,流和管道都是队列的实现,但是它们用于不同的情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NTSD和WinDbg之间到底有什么区别?

块和循环之间到底有什么区别?

使用Spring Data JPA的JpaRepository和CrudRepository之间到底有什么区别?

oracle sql中的“语句”和“函数”之间到底有什么区别?

MVC中的Web API和REST API之间到底有什么区别?

Java:NIO和NIO.2之间到底有什么区别?

下划线_.each和_.map之间到底有什么区别?

Puppet中的notify函数和notify资源之间到底有什么区别?

Android View Model和Singleton类之间到底有什么区别

初级索引和次级索引之间到底有什么区别?

@parallel和pmap到底有什么区别?

INotify max_user_instances和max_user_watches之间到底有什么区别?

Cron表达:两者之间到底有什么区别?和*在cron表达式中?

The Reactive Manifesto中的事件驱动架构和消息驱动架构之间到底有什么区别?

理论上的Petri网和BPMN工作流程之间到底有什么区别?

强化学习中的Q,V(值函数)和奖励之间到底有什么区别?

仅编程语言映像和OS加编程语言docker映像之间到底有什么区别?

所有Git重置模式之间到底有什么区别?

JavaScript中的三种函数声明之间到底有什么区别?

这两个javascript函数之间到底有什么区别?

Couchbase中的REQUEST_PLUS和STATEMENT_PLUS ScanConsististency到底有什么区别?

ADF管道和ADF数据流之间有什么区别?

代码是否被视为可移植可执行格式的初始化数据,初始化数据和单元化数据之间到底有什么区别?

气流和Kubeflow管道之间有什么区别?

措词内容和流内容之间有什么区别?

Azure DevOps中的构建管道和发布管道之间有什么区别?

Azure管道-管道工件和构建工件之间有什么区别?

反应性流和反应性流之间有什么区别?

NodeJS:Duplex流和Transform流之间有什么区别?