private void OnEnable() { //gameObject.hideFlags = HideFlags.HideAndDontSave; DontDestroyOnLoad(gameObject); firstUpdater = gameObject.AddComponent <FirstUpdaterBehaviour>(); lastUpdater = gameObject.AddComponent <LastUpdaterBehaviour>(); SetupUpdaters(); Debug.Log("Updater GameObject created and Updater Behaviours configured"); #if !UNITY_WEBGL || (!FORCE_WEBGL && UNITY_EDITOR) ThreadedJobs.MultithreadingStart(); Debug.Log("Multithread Support started"); #endif }
public static void Main(string[] args) { updater = new Updater(); ThreadedJobs.MultithreadingStart(); updater.QueueCallback(() => { Console.WriteLine("Hi 1"); }, 1); updater.QueueCallback(() => { Console.WriteLine("Hi 2"); }, 2); updater.QueueCallback(() => { Console.WriteLine("Hi 3"); }, 3); updater.QueueCallback(() => { Console.WriteLine("Hi 4"); }, 4); //Program.Start(); for (int i = 0; true; i++) { updater.Execute(null); Thread.Sleep(1); } }
static void B() { jobs[i] = ThreadedJobs.QueueMultithreadJob(DoSomething, null); i = (i + 1) % BU.Length; }
private void OnDisable() { ThreadedJobs.MultithreadingEnd(); Destroy(firstUpdater); Destroy(lastUpdater); }