Maison  >  Questions et réponses  >  le corps du texte

java - Le service Singleton résout les fichiers d'écriture multi-processus

Nous avons maintenant besoin d'un programme d'écriture de fichiers multi-processus

Si vous écrivez directement, vous devez vous assurer que le processus verrouille le descripteur de fichier

Maintenant, je souhaite enregistrer un service d'écriture singleton jusqu'au printemps

Lorsque plusieurs programmes écrivent des fichiers, ils demandent à l'interface Spring d'écrire des fichiers

Cette solution est-elle réalisable ?

Ou utiliser un service RPC singleton ?

Une seule instance peut garantir que lors de l'écriture d'un fichier, il s'agit d'une instance, évitant ainsi les problèmes de synchronisation multi-thread et multi-processus !

天蓬老师天蓬老师2691 Il y a quelques jours934

répondre à tous(3)je répondrai

  • ringa_lee

    ringa_lee2017-05-17 10:03:08

    Je pense que ce n'est toujours pas possible, Spring ne gère les instances que pour vous, et vous devez toujours résoudre vous-même le problème de la sécurité des threads

    .

    De plus, vous parlez d'écrire des fichiers via plusieurs processus. RPC n'est qu'une méthode multi-thread, n'est-ce pas ?

    En fait, l'essentiel est d'implémenter une interface d'écriture de fichiers thread-safe. Singleton est OK, utilisez simplement votre propre instance comme verrou

    .

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:03:08

    =_=! Un programme multi-processus ?

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:03:08

    En utilisant zookeeper, une caractéristique de zookepper est qu'un seul client (processus) peut écrire avec succès sur le même znode. Utilisez ce client pour écrire des fichiers, ou utilisez la base de données pour écrire la même clé primaire. Un seul peut insérer avec succès

    .

    répondre
    0
  • Annulerrépondre