Setting thread names is quite helpful for debugging. One of the projects I work on hoists Linux tasks into native threads, and we use the task comm and PID as the name, which is super helpful for debugging. That being said, each platform has their own weird quirks when it comes to names: Linux only accepts names up to 15 characters, for example. And macOS only lets you set the thread name from your own thread, so even though it uses the same pthread_setname_np call the parameters it takes are different :(