unity 初学记录Unity3d相关(M)Unity教程合集

Unity多线程(C#)

2015-10-26  本文已影响6654人  欣羽馨予

前言

在这之前,有很多人在质疑Unity支不支持多线程,事实上Unity是支持多线程的。而提到多线程就要提到Unity非常常用的协程,然而协程并非真正的多线程。协程其实是等某个操作完成之后再执行后面的代码,或者说是控制代码在特定的时机执行。而多线程在Unity渲染和复杂逻辑运算时可以高效的使用多核CPU,帮助程序可以更高效的运行。本篇主要介绍在Unity中如何使用多线程。


//启动线程
thr.Start();

    }
    /// <summary>
    /// Function Of No Arguments.
    /// </summary>
    void Func_NoArguments()
    {
        Debug.Log("Run Func_NoArguments");
    }

//启动线程,传入参数
thr.Start("Lanou");

    }
    /// <summary>
    /// Function Of Have Arguments.
    /// </summary>
    void Func_Arguments(object data)
    {
        Debug.Log("Run Func_Arguments, Data = " + data);
    }
成员名称 描述
AboveNormal 可以将 Thread 安排在具有 Highest 优先级的线程之后,在具有 Normal 优先级的线程之前。
BelowNormal 可以将 Thread 安排在具有 Normal 优先级的线程之后,在具有 Lowest 优先级的线程之前。
Highest 可以将 Thread 安排在具有任何其他优先级的线程之前。
Lowest 可以将 Thread 安排在具有任何其他优先级的线程之后。
Normal 可以将 Thread 安排在具有 AboveNormal 优先级的线程之后,在具有 BelowNormal 优先级的线程之前。 默认情况下,线程具有 Normal 优先级。

结束语

Unity可以使用多线程,但对其有很多限制,所以在不使用UnityEngine API的情况下,可以使用多线程,提高多核CPU的使用率。通常可以将需要大量计算的算法内容,放置到多线程中执行,包括逻辑框架也可以放到多线程中执行。本篇理论性较强,后期会陆续发布实战型文章。

上一篇下一篇

猜你喜欢

热点阅读