亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 6218 | 回復(fù): 12
打印 上一主題 下一主題

進程間文件加鎖的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-08-06 20:18 |只看該作者 |倒序瀏覽
2個進程用a和b來表示
a 讀寫文件c
b 只讀文件c
為了避免b寫文件c,所以希望a進程給文件c加鎖。

問題:我不清楚應(yīng)該怎么實現(xiàn),用flock,fcntl?麻煩各位大俠點一下就行,不會浪費大家太多時間。
謝謝

論壇徽章:
0
2 [報告]
發(fā)表于 2008-08-06 21:19 |只看該作者
a和b如果是線程,加鎖方式是不是也不一樣?

論壇徽章:
0
3 [報告]
發(fā)表于 2008-08-06 21:49 |只看該作者
線程能對文件加鎖么? 好像不可以。
因為不管是flock或者fcntl也好(一般來說,flock是調(diào)用fcntl的)
加鎖只是進程級別的,線程之間,沒有辦法通過文件加鎖來互斥訪問

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
4 [報告]
發(fā)表于 2008-08-06 22:47 |只看該作者
如果是兩個獨立進程,也就是兩個程序的話,可以考慮使用flock

論壇徽章:
0
5 [報告]
發(fā)表于 2008-08-07 00:43 |只看該作者
加鎖也要B配合,B如果硬寫的話也沒辦法把~

論壇徽章:
0
6 [報告]
發(fā)表于 2008-08-07 09:11 |只看該作者
原帖由 ivhb 于 2008-8-6 21:49 發(fā)表
線程能對文件加鎖么? 好像不可以。
因為不管是flock或者fcntl也好(一般來說,flock是調(diào)用fcntl的)
加鎖只是進程級別的,線程之間,沒有辦法通過文件加鎖來互斥訪問


設(shè)置一個變量做標記 不就搞定了,    falg = 0 和1

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
7 [報告]
發(fā)表于 2008-08-07 09:18 |只看該作者
使用flock的話,也可以單獨建一個空文件,專門用于加鎖和解鎖。這樣還可以不影響原先操作的文件。

論壇徽章:
0
8 [報告]
發(fā)表于 2008-08-07 11:01 |只看該作者
原帖由 gaochang2008 于 2008-8-7 09:11 發(fā)表


設(shè)置一個變量做標記 不就搞定了,    falg = 0 和1


設(shè)置變量的話,貌似不能解決問題
檢查變量和改變變量的值這兩個操作并不是一個原子操作

論壇徽章:
0
9 [報告]
發(fā)表于 2008-08-07 16:04 |只看該作者

回復(fù) #8 phoenix0701 的帖子

不是原子操作在這個問題有關(guān)系嗎?

論壇徽章:
0
10 [報告]
發(fā)表于 2008-08-07 19:41 |只看該作者
也許等你判斷完flag,還沒來得及改flag,進程調(diào)度,然后別的進程也發(fā)現(xiàn)該資源可用
而且LZ說的是進程間資源的互斥訪問

[ 本帖最后由 phoenix0701 于 2008-8-7 19:51 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP