-
-
-
-
-
-
-
-
-
-
-pthread_mq_t myq;
-
-void *thread_recv(void *args) {
- char str[128];
- while(1) {
- pthread_mq_receive_generic(&myq, &str, false, NULL);
- printf("RECVD: %.6s\t\t(waiting %d)\n", str, pthread_mq_waiting(&myq));
- sleep(1);
- }
-}
-
-int main() {
- char tmp[128];
-
- pthread_mq_init(&myq, 6, 5);
-
- pthread_t t;
- pthread_create(&t, NULL, thread_recv, NULL);
-
- pthread_mq_send_generic(&myq, "AHOJ1", false, NULL);
- pthread_mq_send_generic(&myq, "AHOJ2", false, NULL);
- pthread_mq_send_generic(&myq, "AHOJ3", true, NULL);
- pthread_mq_send_generic(&myq, "AHOJ4", true, NULL);
- pthread_mq_send_generic(&myq, "AHOJ5", false, NULL);
- pthread_mq_send_generic(&myq, "AHOJ6", true, NULL);
-
- while(1) {
- pthread_mq_send_generic(&myq, "B", false, NULL);
- pthread_mq_send_generic(&myq, "A", true, NULL);
- pthread_mq_send_generic(&myq, " A", false, NULL);
- pthread_mq_send_generic(&myq, " B", false, NULL);
- }
-
- pthread_join(t, NULL);
-}