- Program = a running code + data
- Process = a running program, one program can have multiple processes
- Thread = a unit of execution inside a process, one process can have multiple threads
- Join = the same as wait, block current thread until this other thread had completed
- Shared memory = create a special memory region that ack as the memory region lake. when a process want to share some data, it just need make a write to the memory region, and the same thing goes when other process wants to read data from the memory
- Message passing = when process A wants to share data to process B, process A calls the system kernel to passing the data to process B
- Socket = A socket is an endpoint of communication to which a name can be bound
- Semaphore = Semaphores let processes query or alter status information
- Message passing = message-passing module a message onto a queue which can be read by another process
- Pub socket = cannot receive any data, only send. fan-in no fan-out.
zeromq operate the IPC/RPC through socket
- Download the two header-only libs
- Copy-paste to /usr/include/ and /usr/local/include
- add
target_link_libraries(${PROJECT_NAME} zmq)
to CMake