欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)最簡(jiǎn)單的事件驅(qū)動(dòng)的IO libevent編程例子

Linux閱碼場(chǎng) ? 來(lái)源:未知 ? 作者:鄧佳佳 ? 2018-03-23 09:54 ? 次閱讀

本文演示一個(gè)最簡(jiǎn)單的基于libevent編程的例子。libevent是事件驅(qū)動(dòng)的IO,適用于“好萊塢原則”。

“好萊塢原則”就是說(shuō):“不要給我們打電話,我們會(huì)給你打電話(don‘t call us, we‘ll call you)”。

所以基于libevent編程,和傳統(tǒng)的阻塞、非阻塞、select等會(huì)有一些差異,基于libevent編程的時(shí)候,不是我APP去詢問kernel能否做I/O,它是發(fā)過來(lái)的,讓IO事件來(lái)驅(qū)動(dòng)你。

它的主要流程是:針對(duì)IO事件,注冊(cè)callback函數(shù),一旦事件到來(lái),由事件dispatch引擎,回調(diào)你的函數(shù)。

下面我們演示一個(gè)最簡(jiǎn)單的例子,這個(gè)程序偵聽終端設(shè)備的標(biāo)準(zhǔn)輸入事件,注冊(cè)了一個(gè)回調(diào)函數(shù)cmd_event():

其中的:

event_set(&ev_cmd, STDIN_FILENO,

EV_READ | EV_PERSIST, cmd_event, NULL);

其實(shí)就是偵聽STDIN_FILENO的輸入,并且掛接cmd_event()回調(diào)函數(shù)的代碼。這樣一旦有輸入,cmd_event()被調(diào)用。cmd_event()會(huì)將輸入的字符串進(jìn)行printf的輸出打印,程序運(yùn)行效果如下:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IO
    IO
    +關(guān)注

    關(guān)注

    0

    文章

    463

    瀏覽量

    39402
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3639

    瀏覽量

    94031
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    953

    瀏覽量

    29866

原文標(biāo)題:一個(gè)最簡(jiǎn)單的事件驅(qū)動(dòng)的IO libevent編程例子

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)教個(gè)LABVIEW個(gè)簡(jiǎn)單的問題

    1,兩路模擬輸出,用個(gè)IO控制,高時(shí)輸出通道1,低時(shí)輸出通過2,怎么做編程?2,兩路模擬輸入,用個(gè)
    發(fā)表于 09-29 10:43

    安裝libevent報(bào)錯(cuò)

    [dudu@localhost libevent-1.3]# makemakeall-recursivemake[1]: 進(jìn)入目錄“/tmp/libevent-1.3”Making all
    發(fā)表于 07-30 08:22

    個(gè)PSRAM簡(jiǎn)單的讀寫例子

    下 esp32-s3-devkitc-1 N16R8 上面有 8M PSRAM 是用 SPI 控制的,似乎是滿足我需要的。但是,我怎么就找不到個(gè) PSRAM 簡(jiǎn)單的 讀寫例子,有的是
    發(fā)表于 03-03 08:12

    簡(jiǎn)單的窗口及菜單的例子

    簡(jiǎn)單的窗口及菜單的例子:  Dos匯編,Win32匯編,硬件資料,豐富的匯編、C 源代碼,編程例子詳解。
    發(fā)表于 05-06 16:36 ?9次下載

    DSP/BIOS中的IO設(shè)備驅(qū)動(dòng)編程技術(shù)

    DSP/BIOS中的IO設(shè)備驅(qū)動(dòng)編程技術(shù) 介紹了DSP/BIOS中I/O設(shè)備驅(qū)動(dòng)程序的編寫,并給出了
    發(fā)表于 12-08 14:37 ?2110次閱讀
    DSP/BIOS中的<b class='flag-5'>IO</b>設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>編程</b>技術(shù)

    各種簡(jiǎn)單例子源碼

    關(guān)于單片機(jī)開發(fā) 基于IAR平臺(tái) 各種簡(jiǎn)單例子源碼 入門級(jí)別
    發(fā)表于 06-20 16:09 ?1次下載

    MFC編程例子

    計(jì)算機(jī)上的上位機(jī)制作工具語(yǔ)言之MFC編程例子
    發(fā)表于 09-01 15:01 ?0次下載

    ADI教你個(gè)簡(jiǎn)單的方法實(shí)現(xiàn)可編程LED驅(qū)動(dòng)

    本文所述的電路顯示了創(chuàng)建可編程LED驅(qū)動(dòng)器更簡(jiǎn)單的方法,該驅(qū)動(dòng)器非常適用于需要緊湊、可擴(kuò)展、易于供電和高線性度電源的精確照明控制應(yīng)用。
    的頭像 發(fā)表于 07-02 09:41 ?6448次閱讀
    ADI教你<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>更<b class='flag-5'>簡(jiǎn)單</b>的方法實(shí)現(xiàn)可<b class='flag-5'>編程</b>LED<b class='flag-5'>驅(qū)動(dòng)</b>器

    shell編程100個(gè)實(shí)用例子分享

    shell編程100個(gè)實(shí)用例子分享
    發(fā)表于 01-25 15:39 ?4次下載

    個(gè)模擬解像力圖表的例子

    實(shí)現(xiàn)本節(jié)介紹了個(gè)模擬解像力圖表的例子。作為個(gè)例子,我們將使用
    的頭像 發(fā)表于 09-21 10:47 ?1153次閱讀

    設(shè)計(jì)個(gè)簡(jiǎn)單的白光LED驅(qū)動(dòng)器電路

    LM3530 高效白光 LED驅(qū)動(dòng)器 IC 具有可編程環(huán)境光檢測(cè)功能和 I2C 兼容接口,可以設(shè)計(jì)個(gè)簡(jiǎn)單的白光 LED
    發(fā)表于 10-15 09:19 ?941次閱讀
    設(shè)計(jì)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>簡(jiǎn)單</b>的白光LED<b class='flag-5'>驅(qū)動(dòng)</b>器電路

    信號(hào)驅(qū)動(dòng)IO與異步IO的區(qū)別

    . 談信號(hào)驅(qū)動(dòng)IO (對(duì)比異步IO來(lái)看) 信號(hào)驅(qū)動(dòng)IO 對(duì)比 異步
    的頭像 發(fā)表于 11-08 15:32 ?1149次閱讀
    信號(hào)<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>IO</b>與異步<b class='flag-5'>IO</b>的區(qū)別

    Libevent網(wǎng)絡(luò)庫(kù)的原理與應(yīng)用

    1. Libevent介紹 Libevent個(gè)用C語(yǔ)言編寫的、輕量級(jí)的開源高性能事件通知庫(kù),主要有以下幾個(gè)亮點(diǎn): 事件驅(qū)動(dòng)( even
    的頭像 發(fā)表于 11-09 10:24 ?565次閱讀

    Libevent框架庫(kù)簡(jiǎn)介

    Libevent簡(jiǎn)介 Libevent是開源社區(qū)款高性能的I/O框架庫(kù),其具有如下特點(diǎn): 1、跨平臺(tái)支持。Libevent支持Linu
    的頭像 發(fā)表于 11-09 16:43 ?1254次閱讀
    <b class='flag-5'>Libevent</b>框架庫(kù)簡(jiǎn)介

    python最簡(jiǎn)單for循環(huán)例子

    Python是簡(jiǎn)單而又強(qiáng)大的編程語(yǔ)言,通過其清晰的語(yǔ)法和豐富的功能庫(kù),我們可以實(shí)現(xiàn)各種各樣的任務(wù)。其中個(gè)最基本的語(yǔ)法結(jié)構(gòu)就是for循環(huán)
    的頭像 發(fā)表于 11-21 14:53 ?1230次閱讀