Ocaml:有没有办法在进程之间传递对象?

Joã*_*tos 2 multithreading ocaml ipc pipe

这是一个真实的问题.

我正在使用命名管道在进程/线程之间传输数据,但是这个数据类型为string是否可以以这种方式传递和对象?

无论如何传递一个对象?

我的问题如下:

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

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

如果有人能帮助我,那就太好了!谢谢.

Jef*_*eld 6

您可以使用该Marshal模块通过字节流传递任意OCaml值.这是正确的,所以我建议阅读手册元帅部分.主要的是它只传递值,而不是类型.因此,您的接收过程需要定义要传递的对象的确切类型,并且您需要在接收器中明确指定类型.

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