2011-04-18 126 views
1

可以在裏面運行erlang虛擬機一個進程嗎?在進程內運行erlang虛擬機

我在問這個,因爲我試圖使用erl_nif來使用一些代碼,女巫確實很酷,但我必須將信息發送回可能可能產生虛擬機的進程。我認爲唯一的方法是創建一些IPC通信,比如管道或從COUT讀取,但是這需要一些協議,如果我可以直接從函數響應中調用我需要的東西,那將很酷。

回答

3

即使沒有提及Erlang VM管理OS線程並且有事件循環,您希望在不可預知的OS進程中運行時它如何穩定和可預測?不,你不能在OS進程中運行Erlang VM。

想想二郎山VM的有關操作系統:

  1. 寫在二郎山所有代碼;
  2. 使用NIFs/Port drivers只有當你真的需要更多的速度。但請注意 - 您現在處於「內核模式」!
  3. 使用Ports/Erl_interface/C Nodes如果您有許多其他語言編寫的代碼;
+0

這就是我的想法,但我會結束混合nifs,所以我將能夠使用Qt內部類並通過COUT發送它們。不是那麼漂亮,但是... – scooterman 2011-05-01 23:56:54