在 stackless python 中,通过通道发送的数据是不可变的吗?
我有一个典型的生产者、消费者模式。如果生产者通过通道发送对象,则生产者将被阻塞,直到消费者接受该对象为止。消费者接受对象后,生产者以某种方式更改该对象。消费者是否看到物体被改变了?或者通过通道发送数据时是否存在隐式副本?
I have a typical producer, consumer pattern. If the producer sends an object over a channel, the producer is blocked until the consumer accepts the object. After the consumer accepts the object, the producer alters the object in some way. Does the consumer see the object get altered? Or was there an implicit copy when sending the data over the channel?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Stackless 通过通道发送对 python 对象的引用,因此生产者对对象所做的任何更改都将被消费者“看到”。没有进行任何复制。
Stackless sends a reference to the python object over the channel, so any changes the producer makes to the object will be "seen" by the consumer. No copying going on.