自定义脚本语言引擎开发纪实 - 多线程及线程同步

本文详细介绍了如何在自定义脚本语言引擎中使用C++实现线程类thread、事件event和互斥量Mutex。通过这些类,可以在线程1和线程2中实现多线程操作和线程同步,确保脚本执行的正确性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程类 thread(c++实现)

//脚本代码
_thread = thread($G:__callback__,$G:__engine__,"_thread")
_thread.ext="text"
_thread.sum=10
//开启的线程执行mm.script中的逻辑
_thread.start("C:\\Users\\Administrator\\Desktop\\pack_236\\mm.script")
//等待10秒(单位:ms)
_thread.wait(10000)

事件 event (c++实现)

//线程1

//脚本代码
e=event()
e.create(1,0,"Local\\eventtest")
e.nosignal()
//do somthing
e.signal()

//线程2

//脚本代码
e=event()
e.open("Local\\eventtest")
ret=e.wait(-1)

互斥量 Mutex (c++实现)

//线程1

//脚本代码
m=mutex()
m.create(0,"Local\\mutextest")
//do somthing
ret=m.wait(-1)

//线程2

//脚本代码
m=mutex()
m.open("Local\\mutextest")
m.release()

这三个内置的和线程有关的类,是用C++实现的内置类,脚本中可以直接实例化他们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值