进程、线程和协程
来源:互联网 发布:数据新闻经典案例 编辑:程序博客网 时间:2024/05/01 22:09
进程(process):拥有独立的栈和共享的堆,由操作系统调度;
线程(thread):共享堆,不共享栈,由操作系统调度;
协程(coroutine):共享堆,不共享栈,由程序员在协程的代码里显示调度。
一个应用程序对应一个进程,一个进程一般有一个主线程和若干个辅助线程,线程之间是平行运行的,在线程里面可以开启协程,让协程在特定的时间内运行。
using UnityEngine;using System.Collections;public class test : MonoBehaviour {// Use this for initializationvoid Start () { StartCoroutine(coroutineHandle()); //协程开启 //循环A for (int i = 0; i < 200; i++) { Debug.Log("************" + i); }} IEnumerator coroutineHandle() { //循环B for (int i = 0; i < 100; i++) { Debug.Log("---------" + i); } yield return new WaitForSeconds(1); //循环C for (int i = 0; i < 100; i++) { Debug.Log("@@@@@@@@@@@@@@@@@@" + i); //yield return null; } }// Update is called once per framevoid Update () { Debug.Log("update");} private void LateUpdate() { Debug.Log("lateupdate"); }}
Unity中协程执行原理:
协程不是线程,StartCoroutine开启协程之后,最先执行循环B,执行到yeild return xxx之后,yield return 之后的程序即循环C会被挂起,然后去执行StartCoroutine后面的语句,即执行循环A,被挂起的循环C,会在Update调用之后,LateUpdate调用之前,被执行。
Thread.Sleep()方法http://www.cnblogs.com/nzbbody/archive/2012/03/06/2381359.html
暂时理解到这里,深入理解之后再更新。
阅读全文
0 0
- 线程、进程和协程
- 线程、进程和协程
- 线程、进程和协程
- 进程、线程和协程
- python 线程、进程和协程
- [转]进程、线程和协程
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的理解
- 进程、线程和协程的区别是什么
- 进程、线程和协程的理解
- 详述“进程、线程和协程”的区别
- Python线程、进程和协程详解
- 解决a标签hover在移动设备点击两次才跳转
- 科普:小米松果澎湃S1的前世今生以及真实性能
- linux检测题
- java.lang.AbstractMethodError: org.testng.remote.support.RemoteTestNG6_10$De
- c# onclientclick和onclick区别
- 进程、线程和协程
- CS231n课程笔记5.3:Batch Normalization
- Inno Setup入门(十三)——Pascal脚本(2)
- 浅谈Android中 onTouchEvent 与 onInterceptTouchEvent的区别详解
- linux网络协议栈内核分析
- SQL
- Codeforces Round #318 D. Bear and Blocks DP
- 优化基于FPGA的深度卷积神经网络的加速器设计
- tomcat的server.xml配置文件详解