Why does Linux not implement pthread_suspend() and pthread_resume()?
From: Dr. Henning Kopp
Date: Sun Jan 14 2024 - 06:18:07 EST
Hi everyone,
I have a question regarding pthreads. In particular, I was wondering why
there is no way to suspend and resume a thread in Linux.
In Windows, there is SuspendThread() and ResumeThread() from
processthreadsapi.h. However in Linux, there does not seem to be a
similar function in pthread.h.
When researching this issue i found multiple ways to work around the
inability of suspending a thread, such as using mutexes. But my question
is why nobody bothered implementing suspending/resuming threads.
I found one answer on stackoverflow [1] that mentions that
pthread_suspend and pthread_resume_np is in the "Unix specification",
but not implemented in Linux. I tried to follow up on this hint and get
access to the Posix spec, but i am not affiliated with a university
anymore, so i was unable to download the spec.
I read "man 7 pthreads". It mentions that there are two Linux
implementations of Posix threads, that differ in some details from the
Posix spec. However, it does not mention suspending or resuming threads
at all.
I hope this is the right mailing list for my question. If it is
off-topic, please accept my apologies.
So my question is: What is the reason that Linux does not implement
functions for suspending and resuming threads?
Best regards
Henning
[1]
https://stackoverflow.com/questions/11468333/linux-threads-suspend-resume/13399592#13399592