2012-12-12 74 views
2

这是一个真正的问题。Ocaml:有没有办法在进程之间传递对象?

我正在使用命名管道在进程/线程之间传输数据,但是这个数据的类型是字符串是可以传递和对象的方式吗?

反正有传递对象吗?

我的问题是这样的:

我有一个线程导弹和工艺世界。 世界接收导弹的位置并返回新位置的计算。

现在我正在通过从管道中写入字符串中获取信息来做到这一点。有没有办法将它作为对象或元组传递?

如果有人可以帮助我,这将是伟大的! 谢谢。

回答

6

您可以使用Marshal模块通过字节流传递任意OCaml值。很难得到正确的,所以我建议阅读Marshal section of the manual。主要的是它只传递值,而不是类型。因此,您的接收过程需要为要传递的对象的确切类型定义一个定义,并且您需要在接收方中明确指定类型。

包含函数(包括OO风格的对象)的值不能在同一程序的副本之间进行编组。也许这适用于你的情况(因为你提到你有一个线程),但最好还是使用一个元组。

+0

谢谢,我会阅读,看看它是否符合我的需求! –

相关问题