Le phénomène rencontré par le problème et le contexte dans lequel il s'est produit
Une fonction dans la vue d'appel frontale qui génère des fichiers et les compresse,Si deux personnes appellent cette fonction en même temps, une erreur est signalée:Ce fichier est utilisé par un autre programme,Processus inaccessible
Codes liés au problème,Ne collez pas la capture d'écran
Résultats de l'opération et contenu du rapport d'erreur
Mes idées de solution et les méthodes que j'ai essayées
J'ai pensé à Multithreading,Mais c'est une fonction différente qui fonctionne en même temps
Peut - on utiliser la classe,L'Instance se transforme en un nom différent et rejoint le pool de Threads? Il y a quelque chose de similaireDEMOC'est ça??
Ou quelque chose d'autre à résoudre
Le résultat que je voulais
Voilà.PNGQuelle est l'utilisation ultérieure du fichier?
Pensez à nommer par nom d'utilisateur et horodatagePNGDocumentation.Évitez que les Threads écrivent le même fichier en même temps.
Si le fichier n'a pas besoin d'être sauvegardé à long terme,On pourrait envisager une mission,Nettoyage programmé non courant ou24Le dossier de l'heure précédente.
C'est dû au même nom de fichier généré? Essayez de simplifier les choses sans problème.
Ce qui fait cet appel, Décrivez brièvement, Je suppose que l'accès simultané à un fichier a causé.
De vous donner le Code, p1 Etp2Les ressources ne devraient pas entrer en conflit. Sip1 Et p2 Écris tout. 1.txt ,C'est un conflit..
S'il y a beaucoup de Threads à écrire en même temps 1.txt Et 2.txt ,Ce serait un conflit?