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 方法中,确保在场景销毁时停止线程,以避免在不再需要时继续浪费资源。

相关推荐
农村小镇哥6 分钟前
C#读取CSV文件的方法
服务器·数据库·c#
FuckPatience1 小时前
C# 报错参数无效
c#
五仁烧饼13 小时前
Unity Addressables 静默资源策略
游戏·unity·addressables
北域码匠15 小时前
PID 控制算法完整详解(C# 原生实现,无第三方库)
c#·pid控制·工控开发·闭环控制·自动控制算法·数字pid·增量式pid
离陌在学C#16 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
asdzx6719 小时前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
小金子会发光19 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
ue星空19 小时前
【Godot】更换编辑器外观主题
编辑器·游戏引擎·godot
慧都小妮子20 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
fanfan_hongyun21 小时前
unity 与cad 坐标系映射
unity·游戏引擎