Unity C# 子线程Action发送到主线程执行
今天去面试..面试官竟然说子线程的Action不能发送到主线程执行... ...废话不说上干货
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Threading;public class ActionDemo : MonoBehaviour {public static List<Action<string>> actionlist = new List<Action<string>>();void Start(){actionlist.Add( curname => {Debug.Log ("action1 :" + curname);});actionlist.Add( curname => {Debug.Log ("action2 :" + curname);});//开启子线程Thread th = new Thread(ThreadChild);th.Start();}static void ThreadChild(){//循环三次 关闭线程,养成良好习惯for (int i = 0; i < 3; i++) {//锁住保证线程安全lock(actionlist){actionlist.Add( curname => {//这里填子线程中 想去主线程调用的代码 ,例如改变UIDebug.Log ("ThreadChild :" + curname);});Thread.Sleep(1000);}}}void Update(){//遍历action 在Update中调用action自然是主线程调用for (int i = 0; i < actionlist.Count; i++) {ActionDemo.actionlist [i] (Time.time+"");}actionlist.Clear();}
}
Unity C# 子线程Action发送到主线程执行相关推荐
- 多线程遇到的问题:(2)子线程未运行完 主线程结束了
问题: 用@Test测试多线程接口时,启动服务抛出异常: Singleton bean creation not allowed while singletons of this factory ar ...
- UnityThread子线程使用只能在主线程中调用的函数或Unity API
Unity的Socket网络编程中,为了防止程序卡死,一般使用多线程来监听端口,当收到来自客户端的消息时,需要显示在界面上.但是如果直接在子线程中操作Unity的界面或物体会报错.国外一个大神写了一个 ...
- Android中Handler消息传递机制应用之子线程不允许操作主线程的组件
场景 进程 一个Android应用就是一个一个进程,每个应用在各自的进程中运行. 线程 比进程更小的独立运行的基本单位,一个进程可以包含多个线程. 要求 一个TextView和一个Button,点击B ...
- Qt与OpenCV编程:在子线程打开摄像头用主线程显示
前言 1.在做图像处理开发中,比例做目标跟踪识别的时候,用OpenCV一直在处理摄像头传入的数据,有时候会出现界面卡死或者未响应的状态,这是因为事件循环一直等待处理函数的返回而导致阻塞事件循环,这样一 ...
- python 主程序等待 子线程_Python多线程中主线程等待所有子线程结束的方法
Python多线程中主线程等待所有子线程结束的方法 发布时间:2020-07-30 14:39:04 来源:亿速云 阅读:77 作者:小猪 这篇文章主要讲解了Python多线程中主线程等待所有子线程结 ...
- DLL内线程同步主线程研究(子线程代码放到主线程执行)
DLL内线程同步主线程研究(子线程代码放到主线程执行) 我们在实际项目中经常会用到多线程编程,比如Socket编程等,在创建的线程内同步主线程一般使用Synchronize方法实现子线程操作放到主线程 ...
- C#多线程下, 子线程如何让主线程执行方法
C#多线程下, 子线程如何让主线程执行方法 重现一下当时我的需求: 我开了多个线程, 来监视一个变量, 然后去执行一些方法. 看起来没什么毛病, 但是运行起来会报错 此对象被其他线程占用 一开始想着可 ...
- java 主线程_Java中的主线程 - Break易站
Java 多线程 Java为多线程编程提供内置支持.多线程程序包含两个或多个可以并发运行的部分.这样的程序的每个部分称为线程,每个线程定义一个单独的执行路径. Java中的主线程 当Java程序启动时 ...
- android切换线程的方法,android 主线程切换方法
子线程无法更新UI new Thread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this ...
最新文章
- 室内设计木地板材质合集包 Arroway – Design Craft Vol.4
- python多程优化_Python 基本功: 13. 多线程运算提速
- 跨域产生的原因及解决方法
- Elasticsearch中如何进行排序(中文+父子文档+嵌套文档)
- Leaflet中获取两个地理坐标点之间的距离
- 理解并实施:GLBP(ccna200-120新增考点)
- tmap | R语言中专门绘制地图的工具包
- python是一种代表简单主义思想的语言_setuptools-36.6.0
- 2019最佳硬盘:台式机和笔记本电脑的顶级硬盘
- 关于机器人方面的sci论文_近十年机器人学科中国学者SCI十大发文期刊 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
- 2016二级java题型分数_2016年英语六级考试题型、试卷结构及分值比例
- ICO走进华盛顿:国会探讨加密货币,有什么可以期待?
- 美国网络再次“瘫痪”,华为意外“出头”,网络服务器世界第一
- Linux批量添加或修改文件后缀名称
- MacOS上使用ffmpeg利用显卡加速批量压缩视频
- 持续集成(第二版)(转)
- educoder:实验十 字典
- 文件IO实现图片的加密操作
- Webapp答题之JavaScript篇
- 云计算概览——产品形态