code

2017年3月2日 星期四

Erlang筆記10 - Publish PID

Publishing PID

一個spawn出來的PID只有spawn它的人才會看到,這一方面很安全(不相干的人看不到),但是另一方面會有無法跟其他processes溝通的問題,所以我們需要有方法來publish一個PID給有需要的processes看到的方法,稱為registration。而一個published PID則稱為registered process。

其實就是bind一個假名atom啦!

4個BIFs可以做到此點:


例如以下的clock process,我們在start function中bind spawn出來的pid到atom clock,可是有個疑問就是,這樣除非這個process terminated,否則每次call start()應該都會register失敗,因為clock atom已經被用了。



沒有留言:

張貼留言