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