亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      python

      當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

      python中的select模塊是什么?

      來(lái)源:中華考試網(wǎng)  [2020年9月28日]  【

        Python中的select模塊專(zhuān)注于I/O多路復(fù)用,提供了select poll epoll三個(gè)方法(其中后兩個(gè)在Linux中可用,windows僅支持select),另外也提供了kqueue方法(freeBSD系統(tǒng))

        select方法

        進(jìn)程指定內(nèi)核監(jiān)聽(tīng)哪些文件描述符(最多監(jiān)聽(tīng)1024個(gè)fd)的哪些事件,當(dāng)沒(méi)有文件描述符事件發(fā)生時(shí),進(jìn)程被阻塞;當(dāng)一個(gè)或者多個(gè)文件描述符事件發(fā)生時(shí),進(jìn)程被喚醒。

        當(dāng)我們調(diào)用select()時(shí):

        1、上下文切換轉(zhuǎn)換為內(nèi)核態(tài)

        2、將fd從用戶空間復(fù)制到內(nèi)核空間

        3、內(nèi)核遍歷所有fd,查看其對(duì)應(yīng)事件是否發(fā)生

        4、如果沒(méi)發(fā)生,將進(jìn)程阻塞,當(dāng)設(shè)備驅(qū)動(dòng)產(chǎn)生中斷或者timeout時(shí)間后,將進(jìn)程喚醒,再次進(jìn)行遍歷

        5、返回遍歷后的fd

        6、將fd從內(nèi)核空間復(fù)制到用戶空間

        fd:file descriptor 文

      python學(xué)習(xí)課程預(yù)約提醒

      • 地區(qū):
      • 姓名:
      • 手機(jī):
      件描述符

        fd_r_list, fd_w_list, fd_e_list = select.select(rlist, wlist, xlist, [timeout])

        參數(shù): 可接受四個(gè)參數(shù)(前三個(gè)必須)

        rlist: wait until ready for reading

        wlist: wait until ready for writing

        xlist: wait for an “exceptional condition”

        timeout: 超時(shí)時(shí)間

        返回值:三個(gè)列表

        select方法用來(lái)監(jiān)視文件描述符(當(dāng)文件描述符條件不滿足時(shí),select會(huì)阻塞),當(dāng)某個(gè)文件描述符狀態(tài)改變后,會(huì)返回三個(gè)列表

        1、當(dāng)參數(shù)1 序列中的fd滿足“可讀”條件時(shí),則獲取發(fā)生變化的fd并添加到fd_r_list中

        2、當(dāng)參數(shù)2 序列中含有fd時(shí),則將該序列中所有的fd添加到 fd_w_list中

        3、當(dāng)參數(shù)3 序列中的fd發(fā)生錯(cuò)誤時(shí),則將該發(fā)生錯(cuò)誤的fd添加到 fd_e_list中

        4、當(dāng)超時(shí)時(shí)間為空,則select會(huì)一直阻塞,直到監(jiān)聽(tīng)的句柄發(fā)生變化

        當(dāng)超時(shí)時(shí)間 = n(正整數(shù))時(shí),那么如果監(jiān)聽(tīng)的句柄均無(wú)任何變化,則select會(huì)阻塞n秒,之后返回三個(gè)空列表,如果監(jiān)聽(tīng)的句柄有變化,則直接執(zhí)行。

      責(zé)編:hym
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語(yǔ)考試
      • 學(xué)歷考試