Geek猫的专栏

赞扬雷锋精神

Lua 协程

例程

function func()
	print("hello")
end

co = coroutine.create(func)
print(coroutine.status(co))	-- 查看协程状态
coroutine.resume(co)
运行结果
suspended

hello

例程

function func(a,b)
	print(a,b)
end

co = coroutine.create(func)
coroutine.resume(co,1,2)	-- 给协程函数传递参数
运行结果

1 2

例程

function func1()
	while true do
		local state, v1, v2 = coroutine.resume(co2, 10, 20)
		print(state, v1, v2)
	end
end

function func2()
	while true do
		local p1, p2 = coroutine.yield(5,6) -- 暂停位置继续执行
		print(p1, p2)
	end
end

co1 = coroutine.create(func1)
co2 = coroutine.create(func2)
coroutine.resume(co1)	-- 给协程函数传递参数
运行结果
true 5 6
10 20
true 5 6
10 20

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youshijian99/article/details/79944988
个人分类: Lua
上一篇Lua 函数
下一篇Lua table 扩展数组、链表
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭