lua学习笔记14(协程的学习)

Lua 复制代码
print("*****************************协程的学习*******************************")
--创建1 coroutine.create(function())  使用1 coroutine.resume(co)
-- 创建2 co2=coroutine.wrap(fun)      使用2 co2()
--协程的挂起函数  coroutine.yield()
--协程的状态 --coroutine.status(协程对象)
--dead 结束
--suspended 暂停
--running 进行中
print("*****************************协程的创建*******************************")
--常用方法 coroutine.create()
fun =function()
	print(114514)
end
co=coroutine.create(function()--第一种创建方式
	print(8848)
end
	)
--携程本质是一个线程对象
print(co)
print(type(co))
--coroutine.wrap()
co2=coroutine.wrap(fun)--第二种创建方式
print(co2)
print(type(co2))
print("*****************************协程的运行*******************************")
--第一种方式 通过coroutine.create()创建的协程
coroutine.resume(co)
--第二种方式
co2()
print("*****************************协程的挂起*******************************")
fun2 =function()
	local i=114514
	while true do
	print(i)
	i=i+1
	--协程的挂起函数
	coroutine.yield()
	print(coroutine.status(co3))--输出协程状态running
   end
end
co3=coroutine.create(fun2)
--yield里面的返回值
--默认第一个是返回值 是协同程序是否启动成功
coroutine.resume(co3)
isok,temp=coroutine.resume(co3)
print(isok,temp)
coroutine.resume(co3)
print("***********")
--下面的这种协程调用 也可以有返回值 只是没有默认第一个返回值了
co4=coroutine.wrap(fun2)
co4()
co4()
co4()
print("*****************************协程的状态*******************************")
--coroutine.status(协程对象)
--dead 结束
--suspended 暂停
--running 进行中
print(coroutine.status(co3))
print(coroutine.status(co))

输出

相关推荐
985小水博一枚呀38 分钟前
【AI大模型学习路线】第二阶段之RAG基础与架构——第七章(【项目实战】基于RAG的PDF文档助手)技术方案与架构设计?
人工智能·学习·语言模型·架构·大模型
FakeOccupational1 小时前
计算机科技笔记: 容错计算机设计05 n模冗余系统 TMR 三模冗余系统
笔记·科技
hello1114-2 小时前
Redis学习打卡-Day3-分布式ID生成策略、分布式锁
redis·分布式·学习
小Tomkk2 小时前
2025年PMP 学习二十 第13章 项目相关方管理
学习·pmp·项目pmp
独行soc3 小时前
2025年渗透测试面试题总结-百度面经(题目+回答)
运维·开发语言·经验分享·学习·面试·渗透测试·php
海棠蚀omo3 小时前
C++笔记-红黑树
开发语言·c++·笔记
ysy16480672393 小时前
03算法学习_977、有序数组的平方
学习·算法
FAREWELL000753 小时前
Unity学习总结篇(1)关于各种坐标系
学习·unity·c#·游戏引擎
龙湾开发3 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 12.曲面细分
c++·笔记·学习·3d·图形渲染
霸王蟹4 小时前
React中巧妙使用异步组件Suspense优化页面性能。
前端·笔记·学习·react.js·前端框架