解决方案
140
1、没有调用,应该是参照Linux方式实现的
2、其他方式的也可
2、其他方式的也可
10
既然是标准库,就是各平台都展示给你相同的类库和接口,你只管用它就行了,它内部的调用才是与平台相关的。假如WIN提供了你源码,你翻开源码看就得了;假如没提供源码,那么它内部是用互斥锁还是临界区甚至事件来实现,这个重要吗?它代表的就你只管用std::mutex提供的方法即可。实现想知道可以去翻boost的实现源码,boost貌似是用event事件实现的mutex。
std::thread也是如此,管它内部是_beginthread还是CreateThread,都是封装来的。
std::mutex可以用于线程同步,不管是什么方式创建的线程。
std::thread也是如此,管它内部是_beginthread还是CreateThread,都是封装来的。
std::mutex可以用于线程同步,不管是什么方式创建的线程。
20
1.标准库的实现对于windows平台使用mutex还是critical这个应该不用关注,原因是都是可以达到同步的目的的。假如你有兴趣可以去了解下windows下mutex和critical的一些区别,例如哪个能跨进程,哪个不能,哪个效率高等等
2.这种应该不会限制你只在std::thread创建的线程使用。只是你说你用pthread_create创建线程,然后用std::mutex,似乎没必要。标准库就是为了屏蔽各个平台的差异才有的。
2.这种应该不会限制你只在std::thread创建的线程使用。只是你说你用pthread_create创建线程,然后用std::mutex,似乎没必要。标准库就是为了屏蔽各个平台的差异才有的。