`
mryufeng
  • 浏览: 977677 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

smp下async_driver的用途和匠心

阅读更多
/* INTERNAL use only */
struct erl_drv_entry async_driver_entry;

erlang beam里面有个async_driver设计的比较有意思。 在多处理器beam里面,线程间需要通讯。常规的情况下用condition再有个队列之类的辅助。 但是这个设计不能充分利用io的优势,而且使用起来很麻烦。async_driver就是设计给这个用途的。 它建立一对pipe,把它登记到poll去,生产者要发送消息的时候,就往pipe写。 poll机制就会通知消费者,消费者根据读出的东西进行动作. ACE框架也大量用这种模式,看来大同世界一般同。但是erlang做的更彻底,概念也更简单。
分享到:
评论

相关推荐

    SMP_V8_V1.3(对讲机写频).zip

    摩托罗拉SMP_V8_V1.3写频软件是一款专为摩托罗拉对讲机设计的频率编程工具,主要用于对对讲机进行频率设置、功能配置和个性化定制。这款软件能够帮助用户根据实际需求调整对讲机的工作频段,以确保在不同环境下通信...

    smp.zip_SMp算法_smp_共振_压缩感知 图像

    总结来说,SMP算法在压缩感知框架下为磁共振图像重构提供了一种有效且高效的解决方案。通过优化稀疏表示,SMP能够从少量采样数据中恢复高质量的MRI图像,这在临床实践中具有重大意义,不仅缩短了扫描时间,还降低了...

    SMP.rar_smp_收发短信_移动_移动 短信_联通 短信

    smp_收发短信_移动_移动 短信_联通 短信"是一个专注于短信收发功能的软件包,它实现了对四大网络——移动、联通、电信、网通的支持,使得用户可以通过单一平台进行跨网络的短信通信,极大地提升了通信效率和便利性。...

    SMP2019_ECISA.zip

    在处理"SMP2019_ECISA.zip"时,首先需要解压缩文件,然后根据README或其他指南来理解数据的结构和用途。数据预处理是关键步骤,包括清洗(去除标点符号、停用词等)、分词、词形还原等。接着,可以使用这些数据训练...

    Booting_ARM_Linux_SMP_on_MPCore.rar_arm mpcore_linux smp_smp

    压缩包内的"Booting_ARM_Linux_SMP_on_MPCore.docx"文档很可能是关于这一主题的详细技术文档,可能包含了具体的配置步骤、调试技巧、性能优化建议等内容。阅读这份文档,开发者可以深入理解如何在ARM MPcore平台上...

    asa941-smp-k8_asa962-smp-k8.zip

    asa941-smp-k8_asa962-smp-k8.zip

    smp.rar_sub

    6. **并发与同步**:在多处理器环境下,同步是非常重要的,以防止数据竞争和死锁。SMP 中的同步机制可能包括锁、信号量、条件变量等。 7. **优化**:在 SMP 系统中,性能优化通常涉及减少缓存不命中、优化通信延迟...

    SMP2019_ECISA.rar

    【标题】"SMP2019_ECISA.rar" 是一个压缩文件,其内容可能与2019年度的SMP(可能是System Management Processor或Symmetric Multi-Processing)和ECISA(可能是Extended Configuration Information and Security ...

    smp.rar_bluetooth protocol

    标题中的“smp.rar_bluetooth protocol”提示我们讨论的核心是蓝牙协议栈中的安全管理系统协议(Security Manager Protocol, SMP)部分,而描述中提到的“BlueZ”是Linux系统下的蓝牙协议栈实现。在这个主题下,我们...

    SMP_P_G001_00生产部组织机构.doc

    文档"SMP_P_G001_00生产部组织机构.doc"主要描述了某公司在生产部的组织架构及其运行机制,适用于计算机和互联网行业的管理参考。以下是对文档内容的详细解读: 1. 目的:设立这个组织结构的目的是为了建立清晰的...

    smp.rar_generic

    标题 "smp.rar_generic" 暗示了这是一个与对称多处理(Symmetric MultiProcessing,简称SMP)相关的资源,特别是关于通用辅助函数的集合,用于处理SMP架构下的中断处理程序接口(Interrupt Program Initiate,IPI)...

    smp.rar_MSP430 asm_MSP430 汇编_smp_smp430

    "smp.rar"是一个包含MSP430汇编语言相关示例程序的压缩文件,其中的"smp.txt"和"smp"文件很可能是汇编源代码和相关的数据文件。 **汇编语言基础** 汇编语言是计算机编程的一种底层语言,它与机器语言直接对应,每...

    SMP86xx_boot_loader_2.8.4.1.tar.gz

    SMP86xx系列是Symplicity Microsystems公司开发的一系列高性能、低功耗的数字视频处理器,广泛应用于数字电视、机顶盒和其他多媒体设备。Boot Loader 2.8.4.1版的发布,意味着对于这些设备的软件开发者和系统集成商...

    Booting_ARM_Linux_SMP_on_MPCore

    详细介绍了ARM多核的启动细节,对于开发ARM多核的boot很有帮助。

    SMP.zip_微博用户画像_机器学习_用户画像_用户画像预测_画像

    标题中的"SMP.zip_微博用户画像_机器学习_用户画像_用户画像预测_画像"指出,这个压缩包文件涉及的是一个关于微博用户画像的项目,其中应用了机器学习技术进行用户画像的预测。用户画像是大数据分析的重要部分,它...

    GS2K_SMP_EXP_UG_001207_S2W_TCP_UDP_Provisioning_Examples_Guide

    This manual provides GS2000 based module evaluation kit sample examples for using Serial-to-WiFi AT commands to create TCP or UDP connections for Open and Secure networks

    smp86xx_ezboot_0x98.tar.bz2

    sigma smp865X ezboot souce code

    Linux 是如何支持SMP的

    4. 执行 start_kernel,进行一系列初始化,最后将执行 smp_init() 函数。 5. smp_init() 函数启动各个 AP,关键的一步。 6. rest_init() 函数调用 init() 创建 1 号进程,自身执行 cpu_idle() 成为 0 号进程。 smp_...

    SMP.rar_mis

    图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易...

    BBK SMP125HDT2_SMP129HDT2_firmware_

    【标题】"BBK SMP125HDT2_SMP129HDT2_firmware_" 指的是一款由BBK(步步高)公司为他们的SMP125HDT2和SMP129HDT2设备提供的固件更新。在IT领域,固件是设备或硬件中的低级软件,它控制设备的操作并与硬件紧密交互。...

Global site tag (gtag.js) - Google Analytics