transition.lua主要是动作相关的操作。  -------------------------------- -- @module transition --[[-- 为图像创造效果 ]] local transition = {} local ACTION_EASING = {} ACTION_EASING["BACKIN"] = {
[code="lua"]local function f(a) local thread = coroutine.running() ngx.say("status:",coroutine.status(thread)) ngx.say("1") cld()end...
原创 2023-04-11 00:24:07
149阅读
今晚我加的一个前端群里有人问了这样一个问题,下面这段代码在Chrome中运行:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body>
手写内存泄漏检测组件 文章目录手写内存泄漏检测组件1、mtrace1.1、mtrace 函数1.2、设置日志生成路径1.3、编译源码1.4、运行分析1.5、定位源码位置 addr2line2、宏定义2.1、检测位置2.2、改进方案2.3、运行分析3、hook3.1、检测位置3.2、递归调用的问题3.3、运行分析4、__libc_malloc5、addr2line 的乱码问题 要想实现内存泄漏组件
    上个月末开源发布了1拖4脱机烧录:H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布    本周继续完善,向傻瓜式操作不断前进。这次升级主要是解决大家配置LUA烧写文件的痛点,做成了图形化配置。V1.21版APP程序:h7_tool_appH7-TOOL_STM32H7_App上位机升级至V0.5:H7-TOOL PC机软件H7-TOO
也叫 协同式多线程。 一个协程在 Lua 中代表了一段独立的执行线程。 然而,与多线程系统中的线程的区别在于, 协程仅在显式调用一个让出(yield)函数时才挂起当前的执行。调用函数 coroutine.create 可创建一个协程。 其唯一的参数是该协程的主函数。create函数只负责新建一个协程并返回其句柄 (一个 thread 类型的对象); 而不会启动该协程。调用 corou
原创 2022-11-01 11:09:10
97阅读
什么是协同(coroutine)?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。在任一指定时刻只有一个协同程序在运行,并且这个正
原创 2017-09-01 17:50:59
1494阅读
do --create coroutine table --coroutine state: suspended, running, dead, normal --when create the coroutine, thee statu
原创 2023-08-28 15:34:57
80阅读
协程简单理解为可以暂停的线程,但是同一时刻只有一个协程可以处于运行状态。
原创 3月前
28阅读
全局变量(global variable)在Lua中定义全局变量非常简单,就是定义变量的时候,前面不要加上local。 这个神秘的全局变量,其实本质上也是一个table,它把我们创建的全局变量都保存到一个table里。 这个table的名字是:_G。gName = "globalVar" print(gName) print(_G.gName) print(_G["gName"])
在上文Lua coroutine 不一样的多线程编程思路 中想到coroutine的运行机制跟Java中的wait/notify很相似,所以写了一个简单程序比较一下。 源代码 Lua code co = coroutine.create(function(loops) for i = 1, loops do coroutine.yield() end
原创 2009-04-27 17:30:00
1478阅读
 Lua 协同程序(coroutine)什么是协同(coroutine)?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行
Lua语言从一开始就被设计为能与c/c++及其他常用语言开发的软件集成在一起使用的语言。Lua语言作为一门胶水语言,支持组件化的软件开发方式,通过整合已有的高级组件可以轻松构建新的应用。在软件中台化开发模型中,Lua势必会扮演十分重要的角色。当然,Lua还有其他特性和优点, Lua的运用场合也有其他,这里就不再赘述,接下来进入正题。1、Lua解析器学习Lua语言还是从helloworld开始。在L
转载 4月前
58阅读
最近因为项目的原因,开始研究log4cplus这个日志库。主要是把新版中增加的异步模式log用起来。异步log目前很少有人用,网上说明的资料比较少。看了很多源码,做了很多测试,走了些许弯路。因此打算把一点心得记录下来,为后面要用此功能的人增加一点参考资料。借此机会,正式开启我的技术博客之旅:)。 log4cplus通常有三种使用形式:stdout(打印到屏幕),文件日志和网络日志。最常用
LUA简介lua是一个小巧的脚本语言,LUA不适合作为独立开发应用程序的语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能一般数据库连接是层层递进的,但是这样做性能不高,但有了LUA之后,我们甚至不需要Java代码,直接从nginx连接数据库先从nginx获取数据,如果没有(nginx本身是有缓存的)再通过LUA连接到redis中获取数据,如果没有再通过LUA连接到mys
转载 3月前
24阅读
http://blog.csdn.net/soloist/article/details/329381 并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制。大致上有这么两种多任务技术,一种是抢占式多任务(preemptive multitasking),它让操作系统来决定何时执行哪个任务。另外一种就是协作式多任务(cooperative multitask
lua
转载 精选 2013-02-25 14:40:33
2190阅读
协同程序线程类和多线程下似:它有它自己的堆栈。自己的局部变量。它有自己的指令指针,但是,其他协程共享全局变量和其他项目信息。主要不同在于:多处理器的情况下。概念上来说多线程是同一时候执行多个线程,而协程是通过协作来完毕,不论什么时刻仅仅有一个协程程序在执行。而且这个在执行的协程仅仅有明白被要求挂起时才会被挂起 你能够使用coroutine.create来创建协程:co = coroutine.
转载 2015-09-20 13:12:00
87阅读
2评论
并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制。大致上有这么两种多任务技术,一种是抢占式多任务(preemptive multitasking),它让操作系统来决定何时运行哪个任务。第二种就是协作式多任务(cooperative multitasking),它把...
转载 2015-02-18 13:50:00
337阅读
2评论
1. 概述lua协程和多线程相同之处:拥有自己独立的桟、局部变量和PC计数器,同时又与其
原创 2022-12-14 11:06:51
786阅读
Lua中的协程和多线程很相似,每一个协程有自己的堆栈,自己的局部变量,可以通过yield-resume实现在协程间的切换。不同之处是:Lua
转载 2022-10-24 17:22:22
77阅读
  • 1
  • 2
  • 3
  • 4
  • 5