2 qq 39773743 qq_39773743 于 2017.09.05 15:43 提问

Java多线程写入同一文件该怎么写

创建4个线程,线程A,线程B,线程C,线程D。同时向一个文件夹里写入,线程A写入“A”,线程B写入“B”…… 要求写入内容为 ABCDABCD……

我是个初学者,有没有大神能教教我该怎么写。

7个回答

qq_38494537
qq_38494537   2017.09.05 15:45

http://lavasoft.blog.51cto.com/62575/221801/
使用多线程优先级来实现

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.05 15:46

加锁,,,,,控制线程运行次序,,,,

Small_Mouse0
Small_Mouse0 回复chenjiexixi: 并发是门艺术,,,枷锁是为了控制线程更好的运行,,死锁是很严重的问题,,加锁是需要考虑很多,,防止死锁情况
3 个月之前 回复
qq_38494537
qq_38494537 请问加锁容易造成线程死锁么
3 个月之前 回复
DS623089578
DS623089578   2017.09.05 16:01

可以使用次序执行,这里有一个方式,你可以使用ReentrantLock类的Condition实现次序执行,具体的栗子这里就不给出了,根据你的业务不同,实现方式不跳一样的哈

qq_22203741
qq_22203741   2017.09.05 16:04

单进程多线程用锁机制来实现

djz520
djz520   2017.09.05 16:36

根据需要写入内容的优先,用多线程的优先级来实现。

mar_ljh
mar_ljh   2017.09.05 16:38

如果是严格的顺序的话,使用Thread的join方法实现最简单了吧。设置优先级、队列其实都可以
join使用,创建线程

threadA.start
trheadA.join

threadB.start
trheadB.join
就会先A,再B执行。

zhihang19941024
zhihang19941024   2017.09.06 08:58

加锁什么的就不是并发了,想要并发的话用RandomAccessFile这个类,或者用java的nio

Csdn user default icon
上传中...
上传图片
插入图片