该情况出现如下error,并且crash进程:

 

在by bike 过程中,进行内存分配,由于线程没有优先,乱序的启动running,

在by bus 过程中,进行内存分配,此时才进行双方的exits free,导致double free。

 

时许发生动态的调度变化,按逻辑可以实现单一线程free后再下一个线程free。

只需要在exits()前加入sleep n,则不出现error。