如果实现 <?php
include 'controller.php';
$Nelsons = $King->query("SELECT * FROM messages WHERE receiver='$boy' AND read2=''");
$ccc = $Nelsons->num_rows;
echo $ccc;
?>
模块,请添加GenServer
函数。但是由terminate/2
开始的过程并不知道该怎么做。
答案 0 :(得分:-1)
让我们看一下代码,并逐步进行操作。
主管中的每个孩子都有一些开始,停止,重新注视的选项,称为子规范或子规范。主管使用子规范中的start
选项启动子进程。 Here开始很有趣,而start
选项将是{erlang, apply, [Fun]}
。同样,here开始可以是Module and function,其参数和start
选项将是{Module, Function, Args}
。 start_child/3
和start_child/5
都调用start_child_with_spec/4
,其中here会调用此动态主管来启动任务。
动态主管here处理此呼叫。此子句将start_task请求转换为start_child请求,并运行下一个语句here。
最后,在handle_start_child函数中,如果{Module, Function, Args}
或{erlang, apply, [Fun]}
产生{ok, Pid}
或{ok, Pid, _}
,则Supervisor会将pid及其规范保存为子代。
因此,调用MFA或Fun应该会产生新的pid或pid。这个新过程可以使用erlang:process_flag(trap_exit, true)
捕获退出信号,并将退出信号转换为代码中{'EXIT', Pid, ReasonOfCrash}
形式的erlang消息。