2.2 KiB
2.2 KiB
先新建一个空的,unity工程;
在debug相关目录,可以找到,对应生成的dll文件;
另外还有一个dll文件,是打印相关的;
直接复制粘贴到unity的Asset目录即可;
回到unity中,会自动编译一下,dll文件;
在unity脚本,先引入需要用到的命名空间,然后对打印信息的插件,进行初始化和引用;
再实例化计时器,其中的3个action委托,也指定一下,是打印信息插件的对应接口;
然后,在Update()函数中,添加按键判断,是添加task还是删除task;
因为前面的延迟参数,是设置成0,所以另外需要调用函数,去更新和调用回调;
unity运行项目,然后按键点击,可以看到,间隔差显示,都是正常的;
按下s,计算平均间隔,正常;
将sethandle相关,设置成false,不会放到队列中,进行操作;
按下对应的按键,可以发现,不是在不同的线程操作了,都只是在单一线程下,进行操作;
如果把延迟改成10,然后sethandle还是false,这时,就会创建一个单独的计时器,去进行计时和调用,通过时间线程,去驱动;
运行,可以看到,也是正常驱动的,而且线程id也是固定的,因为它是一个固定的,创建出来的一个线程;
这又是放到队列里,进行处理;
可以看到,又都是放到主线程中,进行处理;
总结一下,如果这个传参不为0,就会启动一个单独的线程,进行计时和驱动;