博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mochiweb源码分析(二)
阅读量:2058 次
发布时间:2019-04-29

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

继续(一)之后的内容

1.

这里会根据之前写的配置列表的参数决定是用start还是start_link方式启动

start和start_link的区别:

start_link会将两个进程链接在一起,由于link是全双工的,一般情况下,一个进程退出也会导致另外一个进程退出。可使用process_flag(trap_exit, true)设置某个进程不会因另外进程的退出而一起退出。

2.parse_options/1这个函数会将配置参数列表的数据转化为记录中的数据

3.

根据Name来确定gen_server的启动参数,undefined则是无名进程,gen_server则是有名进程

4.

这里则是调用listen前的一些参数确定,这些参数会在listen/3用到

5.

之前确定的参数会传进mochiweb_socket:listen/4调用,成功后返回套接字,在mochiweb_socket:listen/4中会根据Ssl参数确定是否启用SSL安全协议,然后进行监听端口。

6.

再看回之前的listen函数,监听端口成功后会得到端口号(mochiweb_socket:port/1),new_acceptor_pool/1将创建acceptor进程池,

根据记录中acceptor_pool_size指定的大小来创建多大的进程池,这里Size的值为16,即创建16个accept进程

并将创建好的进程Pid加入sets集合中

 

 

转载地址:http://vxxlf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-30》31.下一个排列
查看>>
Leetcode C++《热题 Hot 100-40》64.最小路径和
查看>>
Leetcode C++《热题 Hot 100-41》75.颜色分类
查看>>
Leetcode C++《热题 Hot 100-42》78.子集
查看>>
Leetcode C++《热题 Hot 100-43》94.二叉树的中序遍历
查看>>
Leetcode C++ 《第175场周赛-1 》5332.检查整数及其两倍数是否存在
查看>>
Leetcode C++ 《第175场周赛-2 》5333.制造字母异位词的最小步骤数
查看>>
Leetcode C++ 《第175场周赛-3》1348. 推文计数
查看>>
Leetcode C++《热题 Hot 100-44》102.二叉树的层次遍历
查看>>
Leetcode C++《热题 Hot 100-45》338.比特位计数
查看>>
读书摘要系列之《kubernetes权威指南·第四版》第一章:kubernetes入门
查看>>
Leetcode C++《热题 Hot 100-46》739.每日温度
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
[Kick Start 2020] Round A 1.Allocation
查看>>
[Kick Start 2020] Round A 2.Plates
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>