Sychronized [Résolu]

Signaler
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour à tous.

Voila mon probleme , je viens du java et je dois ( et oui dois !) me mettre au devellopement web , alors j ai étudié pas mal de sources du site mais je suis tombé sur un os ... et je ne trouve ma réponse sur aucun forum.

Est-il possible de synchroniser des functions afin qu elles tournent en meme temps ??

Dans mon cas précis je souhaite faire appaitre des images a des endroits aléatoires et les faire disparaitre ( en modifiant l'opacité) tout en continuant a en faire apparaitre d'autres ....

J'ai tous les morceaux de codes sauf la synchronisation enre les functions appearImage(); et toAlpha() .

Si qqn avait une piste ca m'aiderais beacoup.

Merci d'avance

Il vaut mieu être riche et en bonne santé que pauvre et malade .

11 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Salut,

La notion de thread n'existe pas encore en javascript (sauf avec xul : http://xulfr.org/wiki/ThreadJavascript = pas portable).
Il est possible de simuler cette notion en javascript, mais c'est plutôt tricky (il faut concevoir toi même une classe Thread et l'ordonnanceur de la classe).
Une autre solution est de faire effectuer le traitement par une autre machine à l'aide d'ajax et de récupérer le résultat lorsque le calcul est terminé.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
désolé, mais en ce moment mon clavier bug et c'est carément des mots et des phrases qui passent a la trappe !

il fallait lire :

XtremDuke++

Dans des langages comme :

- Java
- VB
- C#
- C++
- etc...

Il y a ce que l'on appelle des système de thread qui permettent de gèrer simultanement plusieurs tache en tache de font (pas forcement) !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Salut,

Regarde du coté de :

setTimeOut()

ou de :

setInterval();

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
3
Merci de ta réponse,
mais j'ai essayé ca ne fonctionne pas , ma boucle se présente comme ca

function appearImage(){
//tant qu il y a des images dans le tableau 
   for(.....){
      //on ajoute l'image a des coordonnées Math.random*100
}  
}
----------------------------------------------
//et une autre fonction qui gere l'alpha
function toAlpha(idDeLImage){

}
Ce que je souhaite c est que dans la boucle for , quand une image est ajoutée , on lance la function toAlpha() par rapport a cette meme image mais que les autres continuent a etre ajoutées en meme temps

Est ce que c est possible ^^ ?
Dans mon cas , il termine l'alpha avant d en rajouter une
Il vaut mieu être riche et en bonne santé que pauvre et malade .
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Je ne sais pas alors...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,

>>Voila mon probleme , je viens du java et je dois ( et oui dois !) me
mettre au devellopement web ,
pourquoi ? java n'est pas du dévelopement web ?
>>alors j ai étudié pas mal de sources du
site mais je suis tombé sur un os ...
>>Est-il possible de synchroniser des functions afin qu elles tournent en meme temps ??
tu causes en quel langage ?
javascript peut-être ? vu qu'on est sur le site dédié...
et ben, javscript est "totalement asynchrone" (sic) .... donc
aucun souci pour ton souci ( ça en pose d'autres.. de soucis ! )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
En fait Bultez, ce n'est pas tout à fait vrai. Javascript n'utilise qu'une seule stack. Certains langage (peut-être Java mais je ne connais pas asser) peuvent utiliser les systèmes de threading où là on peut vraiment gérer des actions de manière asynchrone.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
XtremDuke++

Dans langage comme :

- Java
- VB
- C#
- C++
- etc...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
3
Ok merci pour ces réponses , je vais me pencher dessus

Il vaut mieu être riche et en bonne santé que pauvre et malade .
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Une autre possibilité, tu utilises une libraire qui fait les 2 : chargement des images en asynchrone (ajax) et effet de fadein/fadeout sur image : jquery ou mootools pour ceux que je connais.
1- Chargement de la première image en asynchrone
2 - Réception de la première image : chargement de la seconde image en asynchrone
3 - Affichage de la première image
4 - Réception de la seconde image : chargement de la troisième image en asynchrone
5 - fadeout sur la première image et fadein sur la seconde
4 - Réception de la quatrième image : chargement de la cinquième image en asynchrone
5 - fadeout sur la seconde image et fadein sur la troisième
etc.

Il y aura juste une latence de l'effet au démarrage pour la première et la seconde image (pour faire un fade correct, il faut au moins deux images...)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
je suis  bien d'accord XTremDuke....

function afficher()
{   affiche une image;
    setTimeout afficher();
 }
function cacher()
{   cache une image;
    setTimeout cacher();
}
afficher();
cacher();

ça ne devrait pas être loin pour que ça convienne...

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]