ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Process functions / Threads, semaphores, signals and mutex
  • Special case: Stopping a thread that contains the SocketWairForConnexion function
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Warning
This function is not recommended because it violently stops the current thread. It may cause serious issues (incomplete file writing, loss of memory, critical section not deleted, etc.). It is recommended to use ThreadRequestStop and ThreadStopRequested.
Stops a secondary thread.
Reminder: A thread is a process run in parallel with the current application (main thread). This allows you to run a task in the background (e.g. backup, etc.).
Syntax
<Result> = ThreadStop(<Thread name> [, <Maximum timeout>])
<Result>: Boolean
  • True if the thread was stopped or if the thread does not exist,
  • False if the thread is locked
<Thread name>: Character string
Name of the thread to be stopped. This name is given when running the thread (ThreadExecute).
Special cases:
  • If this parameter corresponds to an empty string (""), the current thread is stopped. If the current thread is the main thread, ThreadStop is equivalent to EndProgram.
    Universal Windows 10 App Only this behavior is allowed. ThreadStop can only be used on the current thread.
  • If the name of the thread does not exist, ThreadStop has no effect and it returns True.
  • If the name of the thread is a child thread or a sibling thread, ThreadStop waits for the current WLanguage function (HReadFirst for example) to end. In this case, ThreadStop is a blocking function.
  • If this parameter corresponds to the threadMain constant, the main thread is stopped.
  • Otherwise, a WLanguage error occurs.
<Maximum timeout>: Optional integer
Maximum timeout in hundredths of a second.
  • If the thread is not stopped at the end of specified duration, <Result> is set to False.
  • If this parameter is not specified or if it corresponds to the Infinite constant, the wait is infinite.
This parameter can be:
  • an integer corresponding to the number of hundredths of a second,
  • a Duration variable,
  • the duration in a readable format (e.g., 1 s or 10 ms).
Remarks

Special case: Stopping a thread that contains the SocketWairForConnexion function

In order for the thread to be properly stopped by ThreadStop, SocketWaitForConnection must be included in a loop:
Timeout = 30
LOOP
SocketWaitForConnection("MySocket", Duration)
END
Component: wd300vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Video Thread
https://youtu.be/4WYw-BGyh1w

https://windevdesenvolvimento.blogspot.com/2019/01/dicas-1997-windev-threads-03-threadstop.html

amarildo
25 Jan. 2019

Last update: 06/21/2023

Send a report | Local help