多线程

使用线程可能会引入额外的未定义行为,例如 https://stackoverflow.com/documentation/c/364/undefined-behavior/2622/data-race#t=201706130820201457052 。对于在不同线程之间共享的变量的无竞争访问,C11 提供了 mtx_lock() 互斥功能或(可选) https://stackoverflow.com/documentation/c/4924/atomics#t=201706150835215525448 数据类型和相关功能 stdatomic.h