diff --git a/rt-thread-version/rt-thread-standard/programming-manual/ipc1/ipc1.md b/rt-thread-version/rt-thread-standard/programming-manual/ipc1/ipc1.md index 8e323259f9279ea3a882c9ea0f2e9d52d4a5fbae..f701f2977a482e8f54b4f25640ce2ed102464db5 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/ipc1/ipc1.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/ipc1/ipc1.md @@ -1411,6 +1411,8 @@ static void thread1_recv_event(void *param) { rt_kprintf("thread1: AND recv event 0x%x\n", e); } + /* 执行完该事件集后进行事件集的脱离,事件集重复初始化会导致再次运行时,出现重复初始化的问题 */ + rt_event_detach(&event); rt_kprintf("thread1 leave.\n"); } @@ -1477,8 +1479,18 @@ MSH_CMD_EXPORT(event_sample, event sample); ```c \ | / - RT - Thread Operating System - / | \ 3.1.0 build Aug 24 2018 - 2006 - 2018 Copyright by rt-thread team + / | \ 4.1.1 build Sep 5 2024 15:53:21 + 2006 - 2022 Copyright by RT-Thread team +msh >event_sample +thread2: send event3 +thread1: OR recv event 0x8 +thread1: delay 1s to prepare the second event +msh >thread2: send event5 +thread2: send event3 +thread2 leave. +thread1: AND recv event 0x28 +thread1 leave. + msh >event_sample thread2: send event3 thread1: OR recv event 0x8