[RESOLU] Comment faire du multithreading avec ma boucle While ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Comment faire du multithreading avec ma boucle While ?

Re: Comment faire du multithreading avec ma boucle While ?

par chegmarco » 26 mai 2020, 16:35

OK. Merci beaucoup

Re: Comment faire du multithreading avec ma boucle While ?

par Spols » 26 mai 2020, 13:37

$i = 0;
$string = '';
while ($i < 1000000) {
	$string .= $i . "\r\n";
	$i++;
}
file_put_contents('loop3.txt', $string);
avec les caractère spéciaux comme \r ou \n il faut des doubles quotes pour que php les interprète en tant que tel

Re: Comment faire du multithreading avec ma boucle While ?

par chegmarco » 26 mai 2020, 12:41

Le souci c'est que le fichier une fois généré, contient des numéros qui au lieu de s'aligner ligne par ligne, s'affiche plutôt sur une seule et même ligne avec à chaque fois la balise <br> comme ceci:

Code : Tout sélectionner

0<br> 1<br>3<br>......
Même quand je modifie la balise "<br>" par "\n". C'est pareil, il n'y a toujours pas retour à la ligne.

Comment donc corriger mon bout de code de sorte à ce qu'il prenne en compte le retour à la ligne ???

Re: Comment faire du multithreading avec ma boucle While ?

par chegmarco » 26 mai 2020, 11:40

OK, je vais l'essayer et voir

Re: Comment faire du multithreading avec ma boucle While ?

par Spols » 26 mai 2020, 09:24

$i = 0;
$string = '';
while ($i < 1000000) {
	$string .= $i . '<br>';
	$i++;
}
file_put_contents('loop3.txt', $string);
ce code as pris 300 ms sur ma machine

Re: Comment faire du multithreading avec ma boucle While ?

par chegmarco » 25 mai 2020, 17:23

Mais comment l'optimiser via un exemple de code sachant que une fois généré, ceux-ci sont stockés et récupérable dans un Fichier ".txt" avec la fonction PHP fputcsv ????

Je sollicite votre aide car la lenteur me pose vraiment problème.

Aidez-moi svp avec un exemple de code pour optimiser ma boucle "while" afin d'améliorer la lenteur et enregistrer la génération des numéros dans un fichier txt.

Merci d'avance.

Re: Comment faire du multithreading avec ma boucle While ?

par Spols » 25 mai 2020, 14:43

je pense que tu peux avant tout optimiser ton script.

que fais tu du résultat ?
générer un fichier d'un million de chiffre incrémenté prends 300 milliseconde alors que les afficher ??? aucune idée le script tourne toujours .

Re: Comment faire du multithreading avec ma boucle While ?

par Saian » 25 mai 2020, 13:53

Salut, utilises tu une session php dans le code ? parce que je pense que dans ce cas un seul script peut tourner à la fois, le suivant à besoin que la session soit libérée par le premier et ainsi de suite.

Comment faire du multithreading avec ma boucle While ?

par chegmarco » 25 mai 2020, 12:13

Bonjour à tous.

Ma boucle while ci-dessous, me permet de génerer 1000000 de numéro. Mais le souci, c'est que quand on lance un premier processus de génération, puis un 2ème puis après un 3ème, le temps total d'exécution du 2ème est plus long que le temps normal du 1er processus et le temps d'exécution du 3ème processus est encore plus long que celui du 2ème processus.

Code : Tout sélectionner

$i = 0; while($i<=$max) { $i++; echo $i. "<br /> "; }

Comment donc modifier mon bout de code de sorte à faire exécuter les processus en parallèle sans que le temps d'exécution de l'un n'agit pas ou ne ralentit pas l'autre ???

Merci de m'aider s'il vous plaît.