博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
proc_lib
阅读量:5010 次
发布时间:2019-06-12

本文共 668 字,大约阅读时间需要 2 分钟。

最近在看mochiweb的源码,体验一下这个http server,看到里面有一个proc_lib:spawn_link/3。之前没注意过此函数,只是见过erlang模块下的spawn_link。下面我们这两个做一下对比。希望可以帮到需要人。

proc_lib:spawn_link/3(参见官方文档 )附图:

 

 由上面图可知,这个函数就是创建一个新的进程,并执行指定函数写下的指定函数。这种创建进程的方式和直接使用spawn_link的方式类似。

那么我们什么时候使用proc_lib:spawn_link,什么时候使用spawn_link呢?这是本篇文章的主要内容。

下面我们通过coding来展示这两种方式的区别:

这里我们首先必须通过设置启动参数开启sasl,以便我们可以接收到发送给进程的错误信息。

开启方式 erl -boot start_sasl 效果如下图:

开启之后我们编写一个例子进行测试,看看这两种方式到底有什么区别

由此可以看出proc_lib:spawn_link这种方式会多一些信息,例如进程标识符,父进程信息,调用函数,进程退出原因等信息。

因此如果我们需要对某个进程的退出比较关心的话,推荐使用proc_lib:spawn_link。

谢谢大家的阅读,希望大家多多批评指正,大家一起努力。

参考:

上面这个链接是大神坚强2002的博客对proc_lib的分析,分析的很透彻,对我帮助很大,对此表示感谢。

转载于:https://www.cnblogs.com/zlerlang/p/3581432.html

你可能感兴趣的文章
OutOfMemory
查看>>
LeetCode:组合总数III【216】
查看>>
Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
查看>>
虚函数的效率问题
查看>>
POJ 1860 Currency Exchange(SPFA 判断有无“正”环)
查看>>
广告地址屏蔽
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>
学习方法--提问
查看>>
【转】每天一个linux命令(3):pwd命令
查看>>
merge-two-sorted-lists
查看>>
MySQL(3)
查看>>
poj1061——扩展gcd水题
查看>>
UVa400.Unix ls
查看>>
POJ 2299 Ultra-QuickSort 归并排序、二叉排序树,求逆序数
查看>>
Educational Codeforces Round 60 (Rated for Div. 2) C. Magic Ship
查看>>
Windows 2008 R2系统开机时如何不让Windows进行磁盘检测?
查看>>
Reporting Service服务SharePoint集成模式安装配置(1、虚拟机+ 2、AD域环境配置)
查看>>
WP7应用开发笔记(18) 本地化与多语言
查看>>
解决 .so文件64与32不兼容问题
查看>>