Core Function ThreadCreate
From Sputnik Wiki
(Difference between revisions)
Line 19: | Line 19: | ||
==== function ==== | ==== function ==== | ||
− | Either a function to call or a string to | + | Either a function to call or a string to execute similar to Eval() |
=== Return Value === | === Return Value === | ||
Line 33: | Line 33: | ||
* Threads can cause problems and even crash if used improperly. | * Threads can cause problems and even crash if used improperly. | ||
− | * A thread works best if | + | * A thread works best if it's like a worker thread that is designed to get/set global variables and do its own thing and call functions here and there. Threads don't like to mess with every piece of code that you are messing with. |
− | * Threads have their own stack and local variable that is | + | * Threads have their own stack and local variable that is independent from everything else they can however access global variables and functions etc. |
− | * Threads | + | * Threads don't like GUI stuff since most GUI functions are to be edited by the thread that created them therefore other threads aren't too happy if you make them mess with GUI of the main thread etc. |
=== Example === | === Example === |
Revision as of 19:53, 4 December 2011
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.
Threads work best if you use them as *worker threads*.
Parameters
name
Name of a thread to create.
function
Either a function to call or a string to execute 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 it's like a worker thread that is designed to get/set global variables and do its own thing and call functions here and there. Threads don't like to mess with every piece of code that you are messing with.
- Threads have their own stack and local variable that is independent from everything else they can however access global variables and functions etc.
- Threads don't like GUI stuff since most GUI functions are to be edited by the thread that created them therefore other threads aren't 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); } }