Are threads implemented as processes on Linux?
I’m going through this book, Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel. It’s from 2001, so a bit old. But I find it quite good anyhow.
I’m going through this book, Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel. It’s from 2001, so a bit old. But I find it quite good anyhow.
I’ve read in many places that Linux creates a kernel thread for each user thread in a Java VM. (I see the term “kernel thread” used in two different ways:
I am running a docker server on Arch Linux (kernel 4.3.3-2) with several containers. Since my last reboot, both the docker server and random programs within the containers crash with a message about not being able to create a thread, or (less often) to fork. The specific error message is different depending on the program, but most of them seem to mention the specific error Resource temporarily unavailable
. See at the end of this post for some example error messages.
Linux doesn’t actually distinguish between processes and threads, and implements both as a data structure task_struct
.