发布网友 发布时间:2022-04-24 17:02
共2个回答
热心网友 时间:2023-10-24 14:00
你搞错 C++程序的线程思想!main和WinMain函数为入口函数,本身已为主线程,主线程标识应用程序生存期。把主函数从线程回调函数中移出来,你这样哪是线程同步啊?直接在主函数中CreateThread传递线程回调地址即可。 再说你有同步吗?一个全局变量竟然被主线程和其它线程同时访问!请使用InterlockedIncrement,数值同步可以使用interlock系统用户态同步函数;也可以使用CreateEvent,CreateMutex,CreateSamphore等内核事件同步;也可以使用EnterCriticalSection对临界区进行同步。推荐使用Mutex同步,Mutex内核对象是线程占有方式,一个线程占有另一个请求的线程将被阻塞。热心网友 时间:2023-10-24 14:01
没有同步的原因追问只是cout 没有涉及变量的赋值,不应该需要数据同步呀!追答cout 是面向流的,那么在COUT输出时就有一个位置的问题。同步吧,没别的法