如何在 erlang nif 中编写单例资源?
How can I write a singleton resource in erlang nif?
有没有办法在c中写一个单例class,然后通过NIF将它作为资源传输到erlang?
Resources 只是指向内存的指针。这些指针可以是 class 实例的方向(尽可能多的单例),从而与拥有资源副本或指向同一内存的另一个资源的任何人共享它。
请记住以下几点:
- 对内存的访问应该是同步的,也许使用mutexes or condition variables。
- 资源可以跨节点发送,但它们只与创建它的节点相关。如果您尝试取消引用另一个节点中的资源,则会出现错误。
- 如果资源没有引用,它可能会像任何其他术语一样被 GC(您可以提供析构函数)。如果资源转到另一个节点并返回,但没有保存对该资源的引用,则它可能已被收集。
除了创建单例之外 "as simple" 为:
有没有办法在c中写一个单例class,然后通过NIF将它作为资源传输到erlang?
Resources 只是指向内存的指针。这些指针可以是 class 实例的方向(尽可能多的单例),从而与拥有资源副本或指向同一内存的另一个资源的任何人共享它。
请记住以下几点:
- 对内存的访问应该是同步的,也许使用mutexes or condition variables。
- 资源可以跨节点发送,但它们只与创建它的节点相关。如果您尝试取消引用另一个节点中的资源,则会出现错误。
- 如果资源没有引用,它可能会像任何其他术语一样被 GC(您可以提供析构函数)。如果资源转到另一个节点并返回,但没有保存对该资源的引用,则它可能已被收集。
除了创建单例之外 "as simple" 为: