for more information I can't using terminate because my thread don't use infinity while or other loop to check Terminated and exit Execute function.
There must be some loops in your code where most of the time is spent.
Check Terminated inside them.
If the code is complex, you can use the exception mechanism to return back from your call hierarchy.