Unity教程:多线程使用方法.pdfVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档