Lua筆記協程

2021-10-20 19:26:56 字數 1524 閱讀 7328

fun =

function()

print

(123

)end

print

("**************攜程的建立****************"

)-- (1)coroutine.create()

-- (2)coroutine.wrap()

co = coroutine.

create

( fun )

co2= coroutine.

wrap

( fun )

print

(co2)

print

(type

(co2)

)print

("**************攜程的執行****************"

)-- (1) 對應的create 建立的攜程, 返回乙個 boolean

-- (2) co()

print

(coroutine.

resume

(co)

)co2()

print

("**************攜程的掛起****************"

)-- (1)coroutine.yield

-- (2) coroutine.create(fun) 之後resume:返回true 和 yiled 值

-- (3) coroutine.wrap(co) 沒有boolean返回值 但是可以yield返回值

fun2 =

function()

local i =

1while

true

doprint

(i) i = i +

1 coroutine.

yield()

endend

co3 = coroutine.

create

(fun2)

coroutine.

resume

(co3)

coroutine.

resume

(co3)

coroutine.

resume

(co3)

temp = coroutine.

resume

(co3)

print

("**************攜程的狀態***************"

)-- coroutine.status(協程物件)

-- dead

-- suspended

-- running

print

(coroutine.

status

( co3 )

)print

(coroutine.

status

(co)

)print

(coroutine.

running()

)

Python學習筆記 協程

二十 協程 協程,又稱微執行緒,纖程,coroutine 子程式 又稱為函式 在所有語言中都是層級呼叫 a呼叫b b呼叫c c返回b b 返回 a 所以子程式呼叫是通過棧實現的 乙個執行緒就是執行乙個子程式 子程式呼叫總是乙個入口 一次返回 呼叫順序是明確的 而協程的呼叫和子程式不同 協程看上去也是...

python學習筆記 協程

協程 協程是一種允許在特定位置暫停或恢復的子程式 這一點和生成器相似。但和生成器不同的是,寫成可以控制子程式暫停之後 的走向,而生成器僅能被動的將控制權交還給呼叫者。練習1 假設有兩個子程式main和printer。printer是乙個死迴圈,等待輸入 加工並輸出結果。main作為主程式,不時地向p...

Python 學習筆記 協程

python裡面控制併發,除了多執行緒和多程序,還可以使用協程 coroutine 他是在乙個執行緒內通過程式設計師人為的指定來進行切換 例1 通過switch 可以人為來回切換到另外乙個函式 當所有函式執行完畢,最後輸出print 10 usr bin env python coding utf ...