多线程能操作同一个同一个目录吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
leosirius666a
V2EX    程序员

多线程能操作同一个同一个目录吗

  •  
  •   leosirius666a 2020 年 2 月 19 日 3441 次点击
    这是一个创建于 2176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如多个线程 copy 文件到同一个目录里面。这样不会有什么问题吧。linux 系统

    14 条回复    2020-02-19 15:30:01 +08:00
    yicong135
        1
    yicong135  
       2020 年 2 月 19 日
    又不能提高 IO 性能
    leosirius666a
        2
    leosirius666a  
    OP
       2020 年 2 月 19 日
    @yicong135 是因为 linux 系统会锁住目录吗?
    rekulas
        3
    rekulas  
       2020 年 2 月 19 日   1
    他说的是你线程开再多,也受限于 IO 写的上限速度,没有什么实际的意义
    luckyc
        4
    luckyc  
       2020 年 2 月 19 日
    当然可以,目录又不是文件, 不存在占用的问题.
    leosirius666a
        5
    leosirius666a  
    OP
       2020 年 2 月 19 日
    @l4ever linux 中不是一切都是文件吗,
    szuwl
        6
    szuwl  
       2020 年 2 月 19 日
    @rekulas 但是单线程并不能触及 IO 的上限
    swulling
        7
    swulling  
       2020 年 2 月 19 日
    @szuwl 小文件场景下,或者随机写一般不能。顺序写可以达到上限
    ujued
        8
    ujued  
       2020 年 2 月 19 日 via iPhone
    可以。比如下载多个文件到下载目录
    ipwx
        9
    ipwx  
       2020 年 2 月 19 日
    机械硬盘是你最后的瓶颈啊大哥。不是说你想并发写就能写得了,受限于硬件啊。
    ipwx
        10
    ipwx  
       2020 年 2 月 19 日
    在机械硬盘的情况下,顺序单线程写比多线程写快至少一个数量级,因为不需要寻道。SSD 会好很多,但是顺序单线程写还是最快的。
    blu10ph
        11
    blu10ph  
       2020 年 2 月 19 日
    @leosirius666a 一切都是文件的意思是一切硬件设备都可以映射为一个文件,通过 io 控制设备,而不是真的是个文件,实际上很多东西也并没有映射为文件,比如 socket~
    Lax
        12
    Lax  
       2020 年 2 月 19 日
    回复标题的问题:如果不是压测目录操作,比如批量创建空文件,不会有问题;即使压测估计你的场景也压测不出 bug。
    说一说要操作的文件数量和文件大小,就知道是不是顺序读写了。另外硬盘的类型也有影响,机械硬盘的顺序读写操作速度快于随机读写,SSD 盘就不一样了
    Mithril
        13
    Mithril  
       2020 年 2 月 19 日
    没用的,多线程硬盘写入就只会更慢。
    icylogic
        14
    icylogic  
       2020 年 2 月 19 日
    …… 建议你读一下 everything is a file 的真正含义,这个 file 不是“文件”(一段存储在磁盘等介质上的数据),而是一种 common interface for I/O devices,其实可以理解成一种简单的多态

    https://yarchive.net/comp/linux/everything_is_file.html
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3738 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 137ms UTC 04:04 PVG 12:04 LAX 20:04 JFK 23:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86