当前位置: 首页 > 面试题库 >

从多个线程写入文本文件?

锺离旻
2023-03-14
问题内容

我有20个线程用println()函数写入一个名为result.txt的文件。我该如何同步它们?

我注意到每次我的程序运行时,results.txt中的文本行数都会不同。

谢谢。


问题答案:

通过包含同步方法以写入文件的类访问文件。一次仅一个线程将能够执行该方法。

我认为Singleton模式适合您的问题:

package com.test.singleton;

public class Singleton {
    private static final Singleton inst= new Singleton();

    private Singleton() {
        super();
    }

    public synchronized void writeToFile(String str) {
        // Do whatever
    }

    public Singleton getInstance() {
        return inst;
    }

}

每次需要写入文件时,只需调用:

Singleton.getInstance().writeToFile("Hello!!");


 类似资料:
  • 问题内容: 我正在尝试使用多个线程在Java中编写一个大文件。 我已经尝试了Java 和类。 实际上,要写入的内容是使用和写入的整个表(Postgres)。文件中的每一行都是表中的一个元组,我一次要写100行。 编写方法: 单个待写入文件由附加模式下的多个线程打开。此后,每个线程都尝试写入文件文件。 以下是我面临的问题: 有时,文件的内容将被覆盖,即:一行仍然不完整,而下一行从那里开始。我的假设是

  • 问题内容: 在多个线程上调用Java 对象是否安全?输出会正确序列化吗? 澄清: 在我的情况下,类记录器拥有FileOutputStream引用,并且多个线程可以调用记录器写,从而格式化输出并调用FileOutputStream写。 我应该同步记录器的写方法以保证来自多个线程的消息不会混合吗? 问题答案: 不能多次打开文件,因此答案是否定的。 在看到您的编辑之后,是的,您应该在记录器中引入同步,以

  • 本文向大家介绍C#实现多线程写入同一个文件的方法,包括了C#实现多线程写入同一个文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现多线程写入同一个文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 问题内容: 如果您曾经使用过p2p下载软件,则他们可以使用多线程下载文件,并且只能创建一个文件,所以我想知道线程如何将数据写入该文件。顺序还是并行? 想象一下,您想将大数据库表转储到文件中,以及如何使这项工作更快? 问题答案: 您可以使用多个线程将a写入文件(例如日志文件)。但是您必须协调@Thilo指出的线程。您需要同步文件访问并仅写入整个记录/行,或者需要制定一种策略来将文件的区域分配给不同的

  • 问题内容: 假设我有两个文本区域… 文字区1 文字区2 我希望能够从在文本区域2中键入的文本之后的文本中添加文本。例如:如果我写“我的名字叫乔”。在textarea中,它会同时复制并写“我的名字叫乔”。在现有的“ Hi There”之后的两个文本区域中。文本。 结果将是… 我可以使用jQuery还是需要使用AJAX这样做?我将如何去做? 问题答案: 绑定到事件时,您会注意到延迟。通常绑定到事件时,

  • 我有从多个文件读取并写入多个文件的Spring批处理配置。是否可以只写入从多个读取的一个文件。假设我收到巨大的XML文件,我将XML拆分为小文件并使用分区器并行读取小文件。但我需要将从不同的小xml文件读取的所有数据写入一个输出文件。Spring批处理是否可以做到这一点?我知道通过使写入器同步是可能的,但我正在寻找任何其他可能的方式作业配置 我得到错误组织。springframework。一批项目