erlang中启动一个gen_server和一个纯粹进程的区别

1、在genserver的启动过程中,内部调用的是proc_lib:start_link(M,F,A,Time,SpawnOpts),当该函数被调用的时候,启动gen_server的进程必须wait,直到gen_server进程在执行init_it函数时,调用proc_lib:init_ack将gen_server的进程号返回给启动进程,至此一个gen_server进程才启动完成;

2、对于一个单纯的erlang进程来说,调用spawn函数来启动他,会立刻返回。

时间: 2024-10-01 02:22:09

erlang中启动一个gen_server和一个纯粹进程的区别的相关文章

Android应用程序在新的进程中启动新的Activity的方法和过程分析

Android应用程序在新的进程中启动新的Activity的方法和过程分析 - 老罗的Android之旅 - 博客频道 - CSDN.NET ? ? ? ?前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程. ?? ? ? ?在前面Android进程间通信(IPC)机制B

Win7中如何在服务中启动一个当前用户的进程——函数CreateProcessAsUser()的一次使用记录

这次工作中遇到要从服务中启动一个具有桌面UI交互的应用,这在winXP/2003中只是一个简单创建进程的问题.但在Vista 和 win7中增加了session隔离,这一操作系统的安全举措使得该任务变得复杂了一些. 一.Vista和win7的session隔离 一个用户会有一个独立的session.在Vista 和 win7中session 0被单独出来专门给服务程序用,用户则使用session 1.session 2... 这样在服务中通过CreateProcess()创建的进程启动UI应用用

Win7中如何在服务中启动一个当前用户的进程——一次CreateProcessAsUser()使用记录

这次工作中遇到要从服务中启动一个具有UI交互的桌面应用,这在winXP/2003中只是一个简单创建进程的问题.但在Vista 和 win7中增加了session隔离,这一操作系统的安全举措使得该任务变得复杂了一些. 一.Vista和win7的session隔离 一个用户会有一个独立的session.在Vista 和 win7中session 0被单独出来专门给服务程序用,用户则使用session 1.session 2... 这样在服务中通过CreateProcess()创建的进程启动UI应用用

Android 在一个程序中启动另一个程序

Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.add

[C#]在程序中启动另外一个程序

C#实现在程序中启动另外一个程序 ProcessStartInfo info = new ProcessStartInfo();    info.FileName = "notepad++.exe";//要启动的程序外部名称   info.Arguments = "1009.txt";//设置外部程序的启动参数    info.WorkingDirectory = @"D:\Users\Desktop";    Process pro;//申明一

(转)从android一个apk中启动第三方apk应用

从android一个apk中启动第三方apk应用 我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢? 问题的核心点在于我们要拿到第三方apk的package名称跟class名称,这两个至关重要!比如笔者做测试用的qq apk,package名称是com.tencent.pad.qq,class名称是com.tencent.pad.qq.login.QQLoginActivity.从一个apk启动到另外一个apk,当然也是

erlang supervisor中启动普通的进程

http://www.cnblogs.com/little-ant/p/3192968.html 文字部分转自: http://1234n.com/?post/qou3eb supervisor的子进程 一开始使用supervisor的时候,我用的是init/1返回子进程规格列表的方式,并且所有子进程只有两种类型,一种是supervisor进程,一种是gen_server. 但这次代码重构中,我遇到一个情况.如果我可以启动普通的进程而不是gen_server,我就可以把一些我觉得没必要做成gen

System.getProperty()引起的悲剧--您的主机中的软件中止了一个已建立的连接

我已无法形容此刻我的心情.. 本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了System.getProperty()方法,悲剧就从此产生了..改好了程序一运行,服务器端正常启动,然后client端怎么也起不来,一启动就自动退出,完善了一下client端的异常捕获,然后就能偶尔报出些异常信息: 您的主机中的软件中止了一个已建立的连接 恰巧今天装了一些新软件和插件,挨个全都卸载

BCB 中 Application->CreateForm 和 New 的一个区别

Application->Create 和 NEW 的一个区别 最近写windows服务的时候,恰巧碰到一个问题.我建立了一个DataModal,然后在Datamodal的OnCreate 事件中创建了另外一个类A的对象a.. a会去访问DataModal的全局指针.相当于下面这个东西: 发现,a访问的DataModal的全局指针有如下2种情况, 如果使用Application->CreateForm 创建,则a可以访问到DataModal的全局指针.即,用下面的方式创建: ? 如果用new的