我正在阅读关于 const 和C 11中的线程安全性,这里是一个相关的Stack Overflow question,这里也是Herb Sutter的video . 经常提到"synchronized"这个词 . 但"synchronized"到底意味着什么呢?
const
例如,以下两行来自Herb的视频
“在没有同步的情况下从多个线程中复制同一个对象”(在13:40)
“...... const对象完全是线程安全的(真正不可变或内部同步)”(15:03)
同步意味着在线程和进程之间共享资源,而不会导致争用条件和死锁 .
在第一个语句中没有同步意味着它不会锁定资源并在完成时将其解锁 .
在第二个语句中,他的意思是说它是一个const对象,它不能被修改,因此完全不可变,不需要同步 .
使用Mutex和Semaphore进行的线程同步技术研究将帮助您更好地理解为什么需要它以及如何完成它 .
1 回答
同步意味着在线程和进程之间共享资源,而不会导致争用条件和死锁 .
在第一个语句中没有同步意味着它不会锁定资源并在完成时将其解锁 .
在第二个语句中,他的意思是说它是一个const对象,它不能被修改,因此完全不可变,不需要同步 .
使用Mutex和Semaphore进行的线程同步技术研究将帮助您更好地理解为什么需要它以及如何完成它 .