Yes, they will always go through the kernel (and are usually used for interprocess communication). If you just need cross-threading, you can probably do it. simple work queue (using old old mutexes).
If you want something with a lot of features, you are almost certainly better off looking at something like AMQP.
Traditionally, Unix / Linux uses sockets + read / write instead, but it depends on what you want (and how you want to use it).
James antill
source share