THREAD_CREATE Function
Syntax
Arguments
- thread_nameCharacter
A character string to be used as the name of the thread. This thread name must be unique among all currently running threads. There will always be a thread named "Main" running, so you cannot use this name.
- Xbasic_codeCharacter
The string of code that should be run in this background thread.
- variablePointer
A pointer to a namespace you would like to use as the context for the thread. This is similar to passing pVariables into a UDF and then using with pVariables ... end with.
Description
Create a thread - requires a unique thread name , code to run - allows for 'base' variable frame to be passed in.
Discussion
The THREAD_CREATE() function creates a new thread.
Example
thread_create("mythread", <<%code%
while flag_run
' do a bunch of stuff
end while
%code%)Then when you want to stop the thread, you can do the following from another script, the interactive window, etc:
tv = thread_variables("mythread")
tv.flag_run = .f.
delete tvThe following script removes unwanted temporary files. This thread works at the lowest priority.
function RaysCleanup as V()
thread_create(thread_name_create("Ray's cleanup"),<<%code%
dim self as P
dim files as C
self = thread.current()
self.set_priority(-2)
files = filefind.get(a5.Get_private_Path() + chr(92) + "$$*.*",0,"pn")
*for_each(x,file.remove(x),files)
files = filefind.get(a5.Get_private_Path() + chr(92) + "*.pdf",0,"pn")
*for_each(x,file.remove(x),files)
files = filefind.get(a5.get_path() + chr(92) + "$$*.*",0,"pn")
*for_each(x,file.remove(x),files)
%code%)
end functionLimitations
Desktop applications only.
See Also