public void CalculateRandomNumberInBackground() { // execute a one-time background operation and call a completion on the main thread // completion is optional and could be null if desired EZThread.ExecuteInBackground(CalculateRandomNumberInBackgroundThread, CalculateRandomNumberInBackgroundCompletionOnMainThread); // ExecuteInBackground can be called with a single void function if you don't care about completion or the return result, i.e. // EZThread.ExecuteInBackground(() => DoBackgroundStuff()); }
public void CalculateRandomNumberInBackground() { // execute a one-time background operation and call a completion on the main thread //执行一次后台操作,在主线程调用完成 // completion is optional and could be null if desired //可选,如果需要为空的情况 EZThread.ExecuteInBackground(CalculateRandomNumberInBackgroundThread, CalculateRandomNumberInBackgroundCompletionOnMainThread); // ExecuteInBackground can be called with a single void function if you don't care about completion or the return result, i.e. //这可以被称为一个void函数如果你不关心完成或返回的结果 // EZThread.ExecuteInBackground(() => DoBackgroundStuff()); }
private void Start() { // start scaling the circle where the background thread runs in sync with the Update method // this would be great for something like pathfinding where the path needs to update every frame in the background circleSyncScale = CircleSync.transform.localScale; EZThread.BeginThread(ScaleSyncThread, true); // start scaling the circle where the background thread runs as fast as possible // this could be useful for something like network calls or other external resource loading // you will notice this circle appears to randomly change size, that is because // the background thread is scaling the circle super fast so when the update method // executes to set the actual scale, it will essentially be a random value. circleNonSyncScale = CircleNonSync.transform.localScale; EZThread.BeginThread(ScaleNonSyncThread, false); }
private static void EnsureCreated() { if (singleton != null) { return; } singletonObject = new GameObject("EZTHREAD"); singletonObject.hideFlags = HideFlags.HideAndDontSave; singleton = singletonObject.AddComponent <EZThread>(); GameObject.DontDestroyOnLoad(singleton); #if !TASK_AVAILABLE System.Threading.ThreadPool.SetMinThreads(Environment.ProcessorCount, Environment.ProcessorCount); System.Threading.ThreadPool.SetMaxThreads(Environment.ProcessorCount, Environment.ProcessorCount); #endif }
private void Start() { // start scaling the circle where the background thread runs in sync with the Update method //后台线程运行同步更新方法 // this would be great for something like pathfinding where the path needs to update every frame in the background //这将是伟大的东西像寻路的道路需要在后台更新每一帧 circleSyncScale = CircleSync.transform.localScale; EZThread.BeginThread(ScaleSyncThread, true); //bool值表示是否与统一同步更新功能。通常你希望这是真的。 // start scaling the circle where the background thread runs as fast as possible //后台线程运行尽可能快 // this could be useful for something like network calls or other external resource loading //这可能是有用的网络调用或其他外部资源加载 // you will notice this circle appears to randomly change size, that is because //你会注意到这个圆似乎随机改变大小,这是因为 // the background thread is scaling the circle super fast so when the update method //后台线程扩展圈非常快所以当更新方法 // executes to set the actual scale, it will essentially be a random value. //实际执行设置规模,它基本上是一个随机值。 circleNonSyncScale = CircleNonSync.transform.localScale; EZThread.BeginThread(ScaleNonSyncThread, false); }