Unity多线程简单示例

csharp 复制代码
using UnityEngine;
using System.Threading;

public class texxxst : MonoBehaviour
{
    Thread thread;

    void Start()
    {
        // 创建一个新的线程,并传入要执行的方法
        thread = new Thread(new ThreadStart(DoWork));
        // 启动线程
        thread.Start();
    }

    void DoWork()
    {
        for (int i = 0; i < 10; i++)
        {
            Debug.Log("Thread:" + i);
            //暂停线程一段时间
            Thread.Sleep(1000); // 暂停1秒
        }
    }


    void OnDestroy()
    {
        // 在场景销毁时停止线程
        if(thread != null && thread.IsAlive)
        {
            thread.Abort();
        }
    }

}

首先创建了一个 ThreadExample 类来管理线程。在 Start 方法中创建了一个新的线程,并传入 DoWork 方法作为要执行的任务。然后启动线程,使其开始执行任务。

在 DoWork 方法中编写了线程需要执行的任务。在这个示例中简单地使用循环来输出一些日志,并使用 Thread.Sleep 方法暂停线程一段时间。

在 OnDestroy 方法中,确保在场景销毁时停止线程,以避免在不再需要时继续浪费资源。

相关推荐
WarPigs43 分钟前
Unity红点系统笔记
unity·游戏引擎
郭逍遥3 小时前
[Godot] C#基于噪声的简单TileMap地图生成
游戏引擎·godot
C#程序员一枚3 小时前
导出百万量数据到Excel表
c#·excel
攻城狮CSU5 小时前
C# 异步方法
开发语言·前端·c#
ekkcole5 小时前
java word转pdf工具类,兼容linux和windows服务器
开发语言·pdf·c#
yangshuquan6 小时前
C# 委托和事件的3点区别,你知道几个?
c#·委托·事件·编程技巧
作孽就得先起床8 小时前
unity UnauthorizedAccessException: 拒绝访问路径
unity·游戏引擎
tealcwu10 小时前
【Unity踩坑】Unity项目提示文件合并有冲突
elasticsearch·unity·游戏引擎
她说彩礼65万11 小时前
C# Lambda 表达式
开发语言·c#
烛阴12 小时前
C#常量(const)与枚举(enum)使用指南
前端·c#