Unity多线程、线程池的使用

Unity技术QQ群:484275915,有需要可以加群相互探讨
#C#多线程的使用
Unity支持多线程。
感谢网友指正错误,两年前写的文章,现在回头看,发现上一句话确实是错的。
这里重申一下,Unity不支持多线程,我们在Unity中使用的多线程其实是C#的多线程,而非Unity的多线程。Unity只有一个主线程,以及使用“协程”的伪线程。
当大家使用到Unity读取外界数据或者操作网格的时候,多线程会非常的好用,因为操作可能比较昂贵,多开辟一个线程充分利用多核CPU的优势是一件非常重要的事情,其实多线程的使用非常简单,但是他却可以避免很多主线程卡死的操作。
在这里我们主要记录一下C#中使用多线程以及线程池。
在C#中使用线程池需要以下这个类库using System.Threading;

	private Thread tempThread;
	void Start () {
        tempThread = new Thread(MyMethod);//将方法注册到线程句柄当中,注意保留这个句柄,因为可能会有用。
        tempThread.Start();//这句代码控制这个线程的开始。
	}
	//这是线程方法
    private void MyMethod()
    {
        Debug.Log("开了一下线程");
    }

这里写图片描述
#C#线程池的使用
线程池相对于线程而言更加方便,在线程池中的线程是由系统进行统一管理,我们在使用的过程中不需要自己去对线程进行开关操作,这些系统都会给我们做了。而且线程池还有一个好处,就是可以传参!

	private int m_iParam;//随便一个类型的参数
	void Start () {
        ThreadPool.QueueUserWorkItem(new WaitCallback(MyMethod), m_iParam);//将方法添加进线程池,并传入参数
	}
    private void MyMethod(object param)
    {
        Debug.Log("开了一下线程");
    }

这里写图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值