erlang分布式编程总结

(1)关闭节点(或shell),并不是执行gen_server的terminate;

(2)要在进程退出时,做相应的处理工作,需要在gen_server的init中执行process_flag(trap_exit,true),设置捕获退出信号,然后在terminate中便可以进行相应的处理;

(3)对分布式编程中,erlang的monitor_node(node(),true),当node()挂了,监控进程会收到{nodedown,Node}消息;

(4)mnesia的无盘工作点工作原理:

                    mnesia:change_config(extra_db_nodes,node()),从node()上取得schema,默认放置到本地内存中;

                    mnesia:change_table_copy_type(schema,node(),disc_copies),改变node()节点上的schema存储类型

                    mnesia:add_table_copy(compInfo,N,disc_copies),进行表的拷贝

(5)one_for_one配置多个子进程的方法:在子进程规范中的{}以逗号分割的另一个{}中写,application行为模式的start方法中,在.app文件中的mod配置;

(6)如何通过receive end字句实现erlang的定时器操作

    a() ->

        ......

       receive 

              {} -> ...,a();

             _ -> ....,a();

            after  3000 ->

                 a()

       end.

你可能感兴趣的:(erlang分布式编程总结)