W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
cf庫為作者將底層實現(xiàn)的一些方法封裝后暴露到用戶層使用, 請不要隨意嘗試直接導(dǎo)入底層API進(jìn)行使用.
cf庫的API具體使用方法與后續(xù)產(chǎn)生的變更請在此進(jìn)行查閱.
cf庫的導(dǎo)入方式為:
local cf = require "cf"
創(chuàng)建一個由cf管理的協(xié)程, 協(xié)程會自行啟動/結(jié)束/回收.(目前不支持手動停止并銷毀, 如有業(yè)務(wù)需要請直接return). 此方法沒有返回值.
返回當(dāng)前上下文的協(xié)程對象.
手動暫停/讓出當(dāng)前協(xié)程. 返回值由wakeup傳遞
手動喚醒指定協(xié)程. ...為傳遞給wait的返回值. wakeup本身沒有返回值
將當(dāng)前協(xié)程休眠sleep_time秒后繼續(xù)運行. 此方法沒有返回值.
創(chuàng)建一個循環(huán)定時器每time秒運行一次, 并且返回一個timer對象.
timer可以使用stop方法停止定時器, 多次停止是無害的.
創(chuàng)建一個定超時器且運行一次, 并且返回一個timer對象.
timer可以使用stop方法停止定時器, 多次停止是無害的.
主動解析一個域名, version用來確認(rèn)需要返回IPv6還是IPv4. 暫未實現(xiàn)(TODO)
請不要隨意跨越封裝層進(jìn)行l(wèi)ua或者C的底層API引用.
請不要過于濫用定時器相關(guān)API, 請確認(rèn)您是否真的有必要使用.
所有API都是同步非阻塞, 即使是定時器也同樣會導(dǎo)致重入問題. 關(guān)于重入問題需要自行在業(yè)務(wù)層確認(rèn).
fork創(chuàng)建協(xié)程由cf管理, cf內(nèi)部也會維護(hù)一個協(xié)程池并且管理協(xié)程的生命周期.
如果一旦您使用相關(guān)手動管理API, cf將會放棄對該協(xié)程的操作.在該協(xié)程生命周期未結(jié)束之前(return), 將不會進(jìn)行內(nèi)存釋放. 所以, 您一旦使用相關(guān)API后需要手動喚醒或者return.cf僅在協(xié)程執(zhí)行完畢/return后才會主動進(jìn)行相關(guān)資源釋放.
如果您真的有需要直面底層API封裝私有庫, 可以聯(lián)系作者幫助.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: