- 0
- 0
- 约3.2千字
- 约 4页
- 2026-02-10 发布于北京
- 举报
Unity3D:线程(UnityThreading)
发布于2013年05月15日由U3d/Unity3D基础/被围观54次
在Unity上使用多线程主要有两种方法。第一种是在程序开始运行时立即启动线程,
通过无限循环的方式或接收计算结果。第二种是在触发时才启动线程。
这两种方法的具体实现如下。
第一:无穷回圈法
01usingSystem.Threading;
02
03线程m_thread;
04
05void开始()
06
07{
08
09m_threadnew线程(new线程启动(RunThread));
10
11线程。开始();
12
13}
14
15void运行线程()
16
17{
18
19尝试{
20
21while(true){
22
23计算();
24
25}catch(异常e){
26
27Debug.Log(“异常:”+e.ToString());
28
29OnApplicationQuit();
30
31}
32
33}
34
35voidOnApplicationQuit()
36
Unity3D:螺纹(UnityThreading)
Postedon2013年05月15日byU3d/Unity3D基础/被围观54次
在Unity上使用多执行绪主要有两种方法。第一是在程式一开始执行时即丢出执行绪,
在执行绪中以无穷回圈的方式或是接收运算结果。第二,在触发件时才丢出执行
绪。两者的写法分叙如下。
第一:无穷回圈法
01usingSystem.Threading;
02
03Threadm_thread;
04
05voidStart()
06
07{
08
09m_threadnewThread(newThreadStart(RunThread));
10
11mthread.Start();
12
13}
14
15voidRunThread()
16
17{
18
19try{
20
21while(true){
22
23Computing();
24
25}catch(Exceptione){
26
27Debug.Log(“Exception:”+e.ToString());
28
29OnApplicationQuit();
30
31}
32
33}
34
35voidOnApplicationQuit()
36
37{
38
39m_thread.中止();
40
41}
42
43void计算()
44
45{
46
47for(inti0;i100000;i++)Mathf.Sqrt((float)i);
48
49}
这个案例中,由于循环完成数值算就结束了,即便是网络也不会有太大问
在运后
题。但如果涉及到GameObject的使用,就会出现“只能从主线程调用”的错误提示,并
且无法解决。详见讨论,经过测试,与Mutex无关,错误仍然会出现。
第二:触发型
01使用系统.线程
02
03void开始()
04
05{}
06
07void更新()
08
09
您可能关注的文档
最近下载
- 黄山学院2021转专业考试试卷真题 .pdf
- 鹤山市既有住宅增设电梯指导意见 .pdf
- 建筑工程测量方案.docx VIP
- 湖北省华中师范大学第一附属中学2024-2025学年高二上学期阶段性检测(一)英语试题(含答案).docx VIP
- 2024年幼儿自主游戏方案 .pdf
- 医院清洁消毒灭菌课件.ppt VIP
- 2025秋金版学案数学(A版)必修第一册检测卷.pdf VIP
- 2025年PEP人教版小学英语(三四五六年级)单词词汇表 .pdf VIP
- 2025年无锡商业职业技术学院单招笔试数学试题库含答案解析.docx VIP
- 河北图集 J20J228 农村住宅标准设计图集(冀中分册) 清晰版.docx VIP
原创力文档

文档评论(0)