java讀寫鎖實(shí)現(xiàn)原理 讀鎖和寫鎖區(qū)別?
讀鎖和寫鎖區(qū)別?共享鎖(S鎖)又稱讀鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X鎖,直到T釋放A上的S 鎖。這保證了其他事務(wù)可以讀A,但在T釋放
讀鎖和寫鎖區(qū)別?
共享鎖(S鎖)又稱讀鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X鎖,直到T釋放A上的S 鎖。這保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。
排他鎖(X鎖)又稱寫鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,事務(wù)T可以讀A也可以修改A,其他事務(wù)不能再對(duì)A加任何鎖,直到T釋放A上的鎖。這保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A
互斥鎖和讀寫鎖的區(qū)別?
才疏學(xué)淺,簡(jiǎn)答回答一下。
線程鎖:主要有互斥鎖、讀寫鎖、信號(hào)量和條件變量。其中信號(hào)量和互斥量也可應(yīng)用于進(jìn)程之間, 從其名字定義sem_t就可以看出,不是專用于線程的(一般名字帶有pthread);信號(hào)量是一種增強(qiáng)版互斥鎖(1——>N);條件變量是與互斥鎖配合實(shí)現(xiàn)線程阻塞,本身不是鎖。
進(jìn)程鎖:互斥鎖(在初始化的的時(shí)候修改屬性為進(jìn)程間共享pthread_mutexattr_setpshared函數(shù));文件鎖是應(yīng)用于進(jìn)程中的一種鎖,由于多線程是通過修改文件描述符指向的文件結(jié)構(gòu)體中的成員變量實(shí)現(xiàn),所以文件鎖不能用于線程之間。
給你一個(gè)含有1億個(gè)QQ號(hào)碼的文件,如何快速的查找某個(gè)QQ號(hào)碼?
記得可以編一個(gè)程序,好像是找定點(diǎn)字的那種。我就是記不住,人真的很笨。