void Update()
    {
//		System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
//		watch.Start();
        if (dispatcher != null)
        {
            dispatcher.ProcessTasks();
        }
//		watch.Stop();
//		if(watch.ElapsedTicks > 1000) {
//			Debug.Log("p1: " + watch.ElapsedTicks);
//		}
//		watch.Reset();
//		watch.Start();
        var finishedThreads = registeredThreads.Where(thread => !thread.IsAlive).ToArray();

        foreach (var finishedThread in finishedThreads)
        {
            finishedThread.Dispose();
            registeredThreads.Remove(finishedThread);
        }
//		watch.Stop();
//		if(watch.ElapsedTicks > 1000) {
//			Debug.Log("p2: " + watch.ElapsedTicks);
//		}
    }
Example #2
0
    void Update()
    {
        if (dispatcher != null)
        {
            dispatcher.ProcessTasks();
        }
        var finishedThreads = registeredThreads.Where(thread => !thread.IsAlive).ToArray();

        foreach (var finishedThread in finishedThreads)
        {
            finishedThread.Dispose();
            registeredThreads.Remove(finishedThread);
        }
    }
Example #3
0
    void Update()
    {
        //Debug.Log("== unity thread helper update");
        if (dispatcher != null)
        {
            dispatcher.ProcessTasks();
        }

        var finishedThreads = registeredThreads.Where(thread => !thread.IsAlive).ToArray();

        foreach (var finishedThread in finishedThreads)
        {
            finishedThread.Dispose();
            registeredThreads.Remove(finishedThread);
        }
    }