在多线程过程中,对于线程间的数据共享同步问题,具体针对多线程需要对一个Vector进行读与写的操作,不考虑缓冲区的操作,一般情况下为了保证稳定性的同时在读写的时候都要进行加锁,其实可以通过一个技巧,就是通过一个临时变量在写数据的时候把第一个值付给临时变量,那么在读取数据的线程中会直接读取临时变量,此时只需要加锁一次即可。
我写了一个测试例子,就是关于开3个读,写,删的操作。。。一般情况进行加锁,与通过通过临时变量来减少一次加锁速度与效率明显低于后者。
针对1000000个数据的操作,操作1比操作2快2倍以上。
下面是我的测试代码,简单。。。只是为了说明问题
/Files/expter/l_thread.rar