Core Function ThreadCreate
From Sputnik Wiki
ThreadCreate( <name>, <function> )
Contents |
Description
Create a new thread and start it off executing a function or some code
Sputnik supports multi-threading and you can create threads in your code to assist you.
Parameters
name
Name of a thread to create.
function
Either a function to call or a string to exeute similar to Eval()
Return Value
Success: Returns 1.
Failure: Returns 0.
Remarks
You can spawn as many threads as you wish however there are a few important things to consider with threads.
- Threads can cause problems and even crash if used improperly.
- A thread works best if its like a worker thread that is designed to get/set global variables and do its own thing and call functions here and there, Threads dont like to be messing with every peice of code that you are messing with.
- Threads have their own stack and local variable that is independant from everything else they can however access global variables and functions etc.
- Threads dont like GUI stuff since most GUI functions are to be edited by the thread that created them therefor other threads arent too happy if you make them mess with GUI of the main thread etc.
Example
ThreadCreate("th1", "Thread1Func();"); // This thread will execute a function ThreadCreate("th2", "Thread2Func();"); // This thread will execute a function ThreadCreate("th3", 'println("Thread 3 says hi");'); // This thread will execute code inputc(); Function Thread1Func() { while(true) { println("Hello from thread '" . ThreadName() . "'"); sleep(500); } } Function Thread2Func() { while(true) { println("Heya from thread '" . ThreadName() . "'"); sleep(500); } }