如何从头开始在C中实现异步单线程任务

问题描述

据我所知,程序执行有四种:

1) 同步(一个线程):

同步(一个线程):

1 thread ->   |<---A---->||<----B---------->||<------C----->|

2) 同步(多线程):

thread A -> |<---A---->|   
                        \  
thread B ------------>   ->|<----B---------->|   
                                              \   
thread C ---------------------------------->   ->|<------C----->| 

3) 异步(一个线程):

         A-Start ------------------------------------------ A-End   
           | B-Start -----------------------------------------|--- B-End   
           |    |      C-Start ------------------- C-End      |      |   
           |    |       |                           |         |      |
           V    V       V                           V         V      V      
1 thread->|<-A-|<--B---|<-C-|-A-|-C-|--A--|-B-|--C-->|---A---->|--B-->| 

4) 异步(多线程):

 thread A ->     |<---A---->|
 thread B ----->     |<----B---------->| 
 thread C --------->     |<------C--------->|
  • <>字符表示的任务A,B,C的起点和终点。
  • 由竖线|表示的cpu时间片

但是我唯一不知道如何从头开始实现的是 单线程异步执行 。我想知道如何在低级语言中从0(例如C)实现类似的东西(没有线程)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)