Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauvegarde de données

5 réponses
Avatar
jeromestankowski
Bonjour A TOUS,

Voila, j'Utilise les threads POUR un logiciel de sauvegarde de
donn=E9es. Lors d'une sauvegarde, POUR CHAQUE fichier constituant DE la
sauvegarde, un thread est lanc=E9.

Voici mon pseudo_code

S=E9maphoreCr=E9e("SEM_LIMITE",nbfic
BOUCLE
SI plus de fichier A sauvegarder ALORS SORTIR
i++
ThreadEx=E9cute(th+i,threadNormal,Compresse,nomdufichier)
ThreadAttendSignal()
lecture fichier suivant...
FIN

S=E9maphoreD=E9truit("SEM_LIMITE")
ThreadArr=EAte()

---------------------------------------------------------------------------=
-----

code de la PROCEDURE Compresse:
ThreadEnvoieSignal(".")
S=E9maphoreD=E9but("SEM_LIMITE")
zipAjouteFichier(...)
S=E9maphoreFin("SEM_LIMITE",1)

Voila, ce code g=E9n=E8re plusieurs erreurs ET j'ai beaucoup de mal POUR
le moment A comprendre A quoi elles sont dues...
SI vous avez une id=E9e...
OU si je me trompe completement, alors comment sauvegarder plusieurs
fichiers en parall=E8le?

Merci

Jer

5 réponses

Avatar
patrice
J'ai peur de comprendre : tu utilise un sémaphore pour autoriser nbfic
thread à ajouter simultanément dans le meme zip un fichier ??

l'ajout dans un zip n'est pas threadsafe donc un seul thread à la fois, il
faut plutot utiliser une section critique ou limite le sémaphore à un seul
fichier (ou bien pas de thread du tout)

ou alors chaque fichier se compacte dans son propre zip, et du coup je vois
pas l'utilité du sémaphore.

a écrit dans le message de
news:
Bonjour A TOUS,

Voila, j'Utilise les threads POUR un logiciel de sauvegarde de
données. Lors d'une sauvegarde, POUR CHAQUE fichier constituant DE la
sauvegarde, un thread est lancé.

Voici mon pseudo_code

SémaphoreCrée("SEM_LIMITE",nbfic
BOUCLE
SI plus de fichier A sauvegarder ALORS SORTIR
i++
ThreadExécute(th+i,threadNormal,Compresse,nomdufichier)
ThreadAttendSignal()
lecture fichier suivant...
FIN

SémaphoreDétruit("SEM_LIMITE")
ThreadArrête()

----------------------------------------------------------------------------
----

code de la PROCEDURE Compresse:
ThreadEnvoieSignal(".")
SémaphoreDébut("SEM_LIMITE")
zipAjouteFichier(...)
SémaphoreFin("SEM_LIMITE",1)

Voila, ce code génère plusieurs erreurs ET j'ai beaucoup de mal POUR
le moment A comprendre A quoi elles sont dues...
SI vous avez une idée...
OU si je me trompe completement, alors comment sauvegarder plusieurs
fichiers en parallèle?

Merci

Jer
Avatar
jeromestankowski
On 12 avr, 11:40, "patrice"
wrote:
J'ai peur de comprendre : tu utilise un sémaphore pour autoriser nbfic
thread à ajouter simultanément dans le meme zip un fichier ??

l'ajout dans un zip n'est pas threadsafe donc un seul thread à la fois , il
faut plutot utiliser une section critique ou limite le sémaphore à un seul
fichier (ou bien pas de thread du tout)

ou alors chaque fichier se compacte dans son propre zip, et du coup je vo is
pas l'utilité du sémaphore.

a écrit dans le message denews:1176369956.
Bonjour A TOUS,

Voila, j'Utilise les threads POUR un logiciel de sauvegarde de
données. Lors d'une sauvegarde, POUR CHAQUE fichier constituant DE la
sauvegarde, un thread est lancé.

Voici mon pseudo_code

SémaphoreCrée("SEM_LIMITE",nbfic
BOUCLE
SI plus de fichier A sauvegarder ALORS SORTIR
i++
ThreadExécute(th+i,threadNormal,Compresse,nomdufichier)
ThreadAttendSignal()
lecture fichier suivant...
FIN

SémaphoreDétruit("SEM_LIMITE")
ThreadArrête()

------------------------------------------------------------------------- ---
----

code de la PROCEDURE Compresse:
ThreadEnvoieSignal(".")
SémaphoreDébut("SEM_LIMITE")
zipAjouteFichier(...)
SémaphoreFin("SEM_LIMITE",1)

Voila, ce code génère plusieurs erreurs ET j'ai beaucoup de mal POUR
le moment A comprendre A quoi elles sont dues...
SI vous avez une idée...
OU si je me trompe completement, alors comment sauvegarder plusieurs
fichiers en parallèle?

Merci

Jer



Je ne peux donc compresser plusieurs fichiers dans une même archive en
parallèle?
Avatar
patrice
a écrit dans le message de
news:
Je ne peux donc compresser plusieurs fichiers dans une même archive en
parallèle?



ben non, comment veux tu que le thread sache à quel endroit placer le
fichier dans l'archive ??
Avatar
dgd
Bonjour,
ca peut resoudre votre souci de sauvegarde

http://www.windasso.org/cgi-bin/gesmod.exe?exec=VISU&NUMRUBRIQUEh4&MDP=&TYPE=SOURCE&IDSESSION‘4073

Salutations
Dominique Giraud
Responsable Informatique
S.D.E.E.G
www.sdeeg33.fr

Ayez une pensée pour la planète,
N'imprimez ce message que si nécessaire
____________________________________

****************************************************************************
*********************************************************************
Ce message électronique et tous les fichiers attachés qu'il contient sont
confidentiels et destinés exclusivement à
l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce
message par erreur, merci de le
retourner à son émetteur. La publication, l'usage, la distribution,
l'impression ou la copie non autorisée de ce message et des
attachements qu'il contient sont strictement interdits.
****************************************************************************
********************************************************************

a écrit dans le message de
news:
Bonjour A TOUS,

Voila, j'Utilise les threads POUR un logiciel de sauvegarde de
données. Lors d'une sauvegarde, POUR CHAQUE fichier constituant DE la
sauvegarde, un thread est lancé.

Voici mon pseudo_code

SémaphoreCrée("SEM_LIMITE",nbfic
BOUCLE
SI plus de fichier A sauvegarder ALORS SORTIR
i++
ThreadExécute(th+i,threadNormal,Compresse,nomdufichier)
ThreadAttendSignal()
lecture fichier suivant...
FIN

SémaphoreDétruit("SEM_LIMITE")
ThreadArrête()

----------------------------------------------------------------------------
----

code de la PROCEDURE Compresse:
ThreadEnvoieSignal(".")
SémaphoreDébut("SEM_LIMITE")
zipAjouteFichier(...)
SémaphoreFin("SEM_LIMITE",1)

Voila, ce code génère plusieurs erreurs ET j'ai beaucoup de mal POUR
le moment A comprendre A quoi elles sont dues...
SI vous avez une idée...
OU si je me trompe completement, alors comment sauvegarder plusieurs
fichiers en parallèle?

Merci

Jer
Avatar
Jacques Bratières
> a écrit dans le message de
news:
Bonjour A TOUS,

Voila, j'Utilise les threads POUR un logiciel de sauvegarde de
données. Lors d'une sauvegarde, POUR CHAQUE fichier constituant DE la
sauvegarde, un thread est lancé.

Voici mon pseudo_code

SémaphoreCrée("SEM_LIMITE",nbfic
BOUCLE
SI plus de fichier A sauvegarder ALORS SORTIR
i++
ThreadExécute(th+i,threadNormal,Compresse,nomdufichier)
ThreadAttendSignal()
lecture fichier suivant...
FIN

SémaphoreDétruit("SEM_LIMITE")
ThreadArrête()

----------------------------------------------------------------------------
----

code de la PROCEDURE Compresse:
ThreadEnvoieSignal(".")
SémaphoreDébut("SEM_LIMITE")
zipAjouteFichier(...)
SémaphoreFin("SEM_LIMITE",1)

Voila, ce code génère plusieurs erreurs ET j'ai beaucoup de mal POUR
le moment A comprendre A quoi elles sont dues...
SI vous avez une idée...
OU si je me trompe completement, alors comment sauvegarder plusieurs
fichiers en parallèle?

Merci

Jer




Bonjour,

As tu une raison spéciale de développer un outil de sauvegarde?



--
J.Bratières