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

相关推荐
hixiong12311 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
月昤昽13 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_202513 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
雪度娃娃16 小时前
基于TCP的网络词典
网络·c++·tcp/ip·c#
xxjj998a17 小时前
PHP vs C#:两大编程语言终极对比
开发语言·c#·php
工程师00717 小时前
C# 泛型:约束、协变逆变、底层模板生成机制
c#·泛型·逆变·协变
bestcxx18 小时前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
我是唐青枫18 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
性能优化·c#·.net
游乐码19 小时前
c#反射笔记二
笔记·c#
工程师00719 小时前
C# 变量:生命周期、作用域、变量逃逸
c#·生命周期·作用域·逃逸