今天去面试..面试官竟然说子线程的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发送到主线程执行相关推荐

  1. 多线程遇到的问题:(2)子线程未运行完 主线程结束了

    问题: 用@Test测试多线程接口时,启动服务抛出异常: Singleton bean creation not allowed while singletons of this factory ar ...

  2. UnityThread子线程使用只能在主线程中调用的函数或Unity API

    Unity的Socket网络编程中,为了防止程序卡死,一般使用多线程来监听端口,当收到来自客户端的消息时,需要显示在界面上.但是如果直接在子线程中操作Unity的界面或物体会报错.国外一个大神写了一个 ...

  3. Android中Handler消息传递机制应用之子线程不允许操作主线程的组件

    场景 进程 一个Android应用就是一个一个进程,每个应用在各自的进程中运行. 线程 比进程更小的独立运行的基本单位,一个进程可以包含多个线程. 要求 一个TextView和一个Button,点击B ...

  4. Qt与OpenCV编程:在子线程打开摄像头用主线程显示

    前言 1.在做图像处理开发中,比例做目标跟踪识别的时候,用OpenCV一直在处理摄像头传入的数据,有时候会出现界面卡死或者未响应的状态,这是因为事件循环一直等待处理函数的返回而导致阻塞事件循环,这样一 ...

  5. python 主程序等待 子线程_Python多线程中主线程等待所有子线程结束的方法

    Python多线程中主线程等待所有子线程结束的方法 发布时间:2020-07-30 14:39:04 来源:亿速云 阅读:77 作者:小猪 这篇文章主要讲解了Python多线程中主线程等待所有子线程结 ...

  6. DLL内线程同步主线程研究(子线程代码放到主线程执行)

    DLL内线程同步主线程研究(子线程代码放到主线程执行) 我们在实际项目中经常会用到多线程编程,比如Socket编程等,在创建的线程内同步主线程一般使用Synchronize方法实现子线程操作放到主线程 ...

  7. C#多线程下, 子线程如何让主线程执行方法

    C#多线程下, 子线程如何让主线程执行方法 重现一下当时我的需求: 我开了多个线程, 来监视一个变量, 然后去执行一些方法. 看起来没什么毛病, 但是运行起来会报错 此对象被其他线程占用 一开始想着可 ...

  8. java 主线程_Java中的主线程 - Break易站

    Java 多线程 Java为多线程编程提供内置支持.多线程程序包含两个或多个可以并发运行的部分.这样的程序的每个部分称为线程,每个线程定义一个单独的执行路径. Java中的主线程 当Java程序启动时 ...

  9. android切换线程的方法,android 主线程切换方法

    子线程无法更新UI new Thread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this ...

最新文章

  1. 室内设计木地板材质合集包 Arroway – Design Craft Vol.4
  2. python多程优化_Python 基本功: 13. 多线程运算提速
  3. 跨域产生的原因及解决方法
  4. Elasticsearch中如何进行排序(中文+父子文档+嵌套文档)
  5. Leaflet中获取两个地理坐标点之间的距离
  6. 理解并实施:GLBP(ccna200-120新增考点)
  7. tmap | R语言中专门绘制地图的工具包
  8. python是一种代表简单主义思想的语言_setuptools-36.6.0
  9. 2019最佳硬盘:台式机和笔记本电脑的顶级硬盘
  10. 关于机器人方面的sci论文_近十年机器人学科中国学者SCI十大发文期刊 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
  11. 2016二级java题型分数_2016年英语六级考试题型、试卷结构及分值比例
  12. ICO走进华盛顿:国会探讨加密货币,有什么可以期待?
  13. 美国网络再次“瘫痪”,华为意外“出头”,网络服务器世界第一
  14. Linux批量添加或修改文件后缀名称
  15. MacOS上使用ffmpeg利用显卡加速批量压缩视频
  16. 持续集成(第二版)(转)
  17. educoder:实验十 字典
  18. 文件IO实现图片的加密操作
  19. Webapp答题之JavaScript篇
  20. 云计算概览——产品形态

热门文章

  1. 自动化 HR 流程,实现人力资源部门无纸化
  2. 世界杯观看感受以及回忆...(大伙可在评论区讨论)
  3. Map集合遍历的三种方式
  4. 三十六种互联网小技巧总有一款适合你的
  5. 用jq替换php页面数据,jQuery标签替换函数replaceWith()的使用例子
  6. Java获取系统当前时间不正确
  7. html5提交数据到php跨域6,HTML5实现跨域问题
  8. 百度助力首届国际青少年编程竞赛,05后小学生成为“AI新秀”
  9. 一个程序媛眼中的公司年会
  10. Zookeeper常用命令大全之四字监控命令