Accueil > Forum > > > > Conseil sur l'utilisation des threads
Conseil sur l'utilisation des threads
lundi 24 septembre 2007 à 18:36:53 |
Conseil sur l'utilisation des threads

John Dogget
|
Bonjour à tous. Je voudrais mettre à jour ma source déposé ici (http://www.delphifr.com/codes/GENERATEUR-ALEATOIRE-FICHIER_44115.aspx) en ajoutant quelques fonctions. Notemmant l'ajout d'une fenetre qui indique la progression des operations en cours. Comme la création de fichier a tendance à vampiriser les ressources, la mise à jour de la progression est problematique dans la mesure où elle fait perdre beaucoup de temps à l'application. D'où mon idée d'utiliser un thread pour la mise à jour. A votre avis, est'il preferable d'utiliser un thread pour la création du fichier (gros consommateur de ressource) ou bien pour la mise à jour de la progression (source de lenteur) ? En sachant que la création du fichier sera limité à un moment par la vitesse d'ecriture sur le disque ... J'attends vos conseils zéclairés 
|
|
lundi 24 septembre 2007 à 19:46:18 |
Re : Conseil sur l'utilisation des threads

florenth
|
Réponse acceptée !
Salut ! En toute logique, si tu crée un thread en plus de celui qui est géré par la VCL, c'est pour faire du travail... pas pour afficher ! Et ce, d'autant plus que les méthodes de la VCL nécessitent d'être d'appelées depuis le thread principal. En résumé: - Le thread principal: pour l'affichage (normal quoi).
- Le deuxième thread: pour le travail.
Concrètement: - Tu crée un TThread pour créer ton fichier, lequel communiquera au thread principal de se mettre à jour.
- Pour la communication, le plus simple (et le plus sûr) : Synchronize(). C'est aussi le plus lent, donc ne rafraîchit l'affichage toutes les secondes par exemple (en gardant en mémoire un Tick que tu compares).
- Si tu veux te tenter aux messages de rafraîchissements, et autres artifices de mémoire partagér, c'est à tes risques et périls...
++ Flo Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.net [ Lien ]
|
|
lundi 24 septembre 2007 à 19:53:32 |
Re : Conseil sur l'utilisation des threads
|
lundi 24 septembre 2007 à 19:57:27 |
Re : Conseil sur l'utilisation des threads

John Dogget
|
J'ai une autre question  Pourquoi ne pas utiliser un TTimer pour l'affichage, au lieu d'un Tick (avec getthickcount j'imagine) ? C'est plus rapide, plus elegant, mieux ?
|
|
mardi 25 septembre 2007 à 09:03:13 |
Re : Conseil sur l'utilisation des threads

Loda
|
salut,
le TTimer te crée pas mal de trucs derrière et utilise des ressource system plus importante qu'un simple gettickcount. aussi, un ttimer est asycrone avec ton thread, tantdis que tu choisit le moment de lire le gettickcount.
aussi, tu peux ne rafraichir l'affichage que tout les 2 fichiers ou n'import quel autre condidtions que tu trouve adaptée.
bon code,
Loda
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
|
|
mardi 25 septembre 2007 à 16:44:37 |
Re : Conseil sur l'utilisation des threads

florenth
|
A réfléchir car si le fichiers font 2 Go chacun, ça risque d'être long ! De la même façon, s'ils font 10Ko, tu auras trop de rafraîchissements (ça caille après, quoi !). Mais le problème du rafraîchissement reste entier, surtout si, comme japee s'y est déjà tenté, on veut pouvoir afficher non seulement l'avancement mais aussi le temps restant et permettre l'abandon de l'utilisateur (chose qu'il faut toujours prévoir... l'utilisateur est impatient). J'ai déjà essayé plusieurs techniques, mais sans réel succès. Là, en écrivant le post, je viens d'avoir une idée... ++ Flo Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.net [ Lien ]
|
|
mardi 25 septembre 2007 à 17:35:08 |
Re : Conseil sur l'utilisation des threads

John Dogget
|
Pour l'instant j'avais pas prevu de mettre un temps restant ou une possibilité d'annuler les operations. Mettre correctement le thread en place sera déjà un bon début 
|
|
mardi 25 septembre 2007 à 22:03:13 |
Re : Conseil sur l'utilisation des threads

John Dogget
|
Voilà, j'ai mis mon code à jour. Le résultat est pas trop mal je pense  J'atteinds 10 Mo/sec en écriture, mais peut être qu'il est possible d'optimiser encore l'algo pour aller plus vite, je suis pas un pro. A vous de me dire ce que vous en pensez  Mon code est ici : http://www.delphifr.com/codes/GENERATEUR-ALEATOIRE-FICHIER_44115.aspx
|
|
Cette discussion est classée dans : fichier, création, jour, progression, conseil
Répondre à ce message
Sujets en rapport avec ce message
Création d'un fichier .txt (quelle commande)? [ par stigmate101 ]
Quelle est la méthode ou la commande pour créer un fichier .txt?.Je dois faire une application qui génère automatiquement des fichiers .txt dans un ré
Coupeur de fichier avec création d'un .bat [ par MasterNKZ ]
Salut a tousJ'expose mon problème:j'essaie de réaliser un coupeur de fichier en plusieurs parties ki crée donc un certain nombre de fichiers contenant
création de menu [ par sweet_faten ]
bonjour les programmeurs/euses,je suis sur le point de finaliser mon application, je suis une débutante en delphi et donc j'ai toujours un peu de mal
Transfert d'un fichier qui est en cours de création [ par Francky23012301 ]
Salut à tous,Est il possible de transferer un fichier entre un serveur et un client si celui ci est en cours de réalisationMerci
mettre a jour le contenu d1 memo a partir d1 fichier [ par dahman ]
salutmon petit prob est que l orque je fait un loadfromfile ds un memo je peut pas mettre a jour les donnee affiche ds le memo c t a dire lorsque je m
Mettre à jour un fichier ini [ par codial ]
Bonjour,comment fait on pour mettre à jour un fichier ini ? je m'explique:je voudrais dans une rubrique nommée [Bases] mettre plusieurs lignes en ajo
Création de fichier d'aide [ par michelborland ]
Bonjour,Quel est le logiciel le plus simple pour créer des fichiers d'aide pour les applications delphi.Merçi .
Création mises à jour [ par Matt 261 ]
Bonjour tout les monde!J'ai une petite question . Je recherche comment créer une mise à jour (par exemple correction d'un bug, MàJ sécurité...) de mon
Création et utilisation d'un fichier texte [ par bidulchouette ]
Bonjour, j'ai fait quelques recherches sur les forums du site mais je n'ai pas trouvé exactement ce que je cherchais. Voila, en fait je voudrai savoir
Mise à jour automatique d'une grille [ par lun4t1k ]
Bonjour à tous, Mon problème n'est pas compliqué en soit c'est juste la méthode qu'il me manque. Je ne trouve pas grand chose àce sujet. Je dispose d'
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|