同步事件、异步事件、轮询

同步事件发起:process_post_synch(&test3_process, temp_event_s, NULL);   //同步事件发生,理解就是:当程序运行至此函数时,temp_event_s事件发出,会立即去执行test3_process等待事件下面的函数,就是抢占了优先级.提前执行.

异步事件发起:process_post(&test3_process, temp_event_3, NULL);  //事件temp_event_3发出,会等待其他进程执行完毕,将test3_process进程设置就绪态,随后按优先级先后执行.

同步‘异步事件temp_event_s、temp_event_3是user自己定义。可以是全局变量...

 

 

 

轮询模式:process_poll(&test2_process);   函数发出固定的PROCESS_EVENT_POLL,此时在test2_process进程中的,条件就会为真,PROCESS_WAIT_UNTIL(ev == PROCESS_EVENT_POLL);将test2_process进程设置就绪态,随后按优先级先后执行.执行先后与异步事件相同...

 

 

 

就绪:进程已经被调入内存并可以执行(等待系统调度)
阻塞:进程已经在内存中并等待一个事件
挂起:进程被换出至外存从而释放内存空间,以调入并执行处于就绪态的进程
就绪/挂起:进程已在外存,但只要载入内存就可执行
阻塞/挂起:进程已在外存并等待一个事件事件

 

posted @ 2020-08-26 10:52  A_Powered  阅读(611)  评论(0编辑  收藏  举报