u_geek 2017-07-27 00:54 采纳率: 0%
浏览 5259
已结题

java多个线程写同一个数组的不同部分是线程安全的吗?

用了4个线程分别写一个数组的4个不同的部分,数组没加锁,请问这个操作是线程安全的吗?

  • 写回答

11条回答 默认 最新

  • tmaerd 2017-07-27 15:35
    关注

    既然是操作的数组不同部分,那就是线程安全的。相当于你一个数组分成了四个部分,分别由四个不同线程并发执行,不会存在线程之间共享数据的问题,所以是安全的。
    我处理大批量数据业务时,有时也会采取这种方式,先将数据尽量均分成n份,然后交由n个线程并发执行,这样做节约了线程之间争用共享资源等待时的消耗,但同样会多消耗一定的内存空间,有得必有失嘛,相当于以空间换时间。

    评论

报告相同问题?