为什么要进行线程同步?
在下面例子中,number++本来是最后要加到100,但是却只加到55。
这是因为,当一个线程占用的cpu时间片到了之后,没来得及将拿到的数据写入内存,就换另一个线程去执行了,另一个线程执行将结果写入到内存中。此时到第一个线程的时间片时,将上次未写入内存的数据又写入到了内存中。从而另一个线程的修改内存的结构就没了意义。
mutex的使用方法:
为什么要进行线程同步?
在下面例子中,number++本来是最后要加到100,但是却只加到55。
这是因为,当一个线程占用的cpu时间片到了之后,没来得及将拿到的数据写入内存,就换另一个线程去执行了,另一个线程执行将结果写入到内存中。此时到第一个线程的时间片时,将上次未写入内存的数据又写入到了内存中。从而另一个线程的修改内存的结构就没了意义。
mutex的使用方法: