Priorité du code

juin 2005 modifié dans API AppKit #1
Bonjour,

Un programme Cocoa tout simple contient une NSView mise à  jour avant la création d'un thread :
{
...
[maVue update];
[NSThread detachNewThreadSelector...
}

Je remarque que par moment la vue s'affiche avant que le thread bouffe du CPU, donc réactivité de l'interface "parfaite" pour l'utilisateur mais par moment elle se met à  jour je dirais "pendant" que le thread bosse.

Je suppose que le code est traité par morceaux par l'OS, donc par moment la "coupure" tombe entre les deux et par moment non...

Est-ce une erreur de conception de ma part, quels sont vos conseils ?

Merci.

Réponses

  • aranaudaranaud Membre
    juin 2005 modifié #2
    Ligne de code à  rajouter dans le Theard donc tu veux modifier la priorité.
    <br />[NSThread setThreadPriority:0.5];<br />
    


    - 0 : quand l'ordinateur à  la temps
    - 0,5 : normalement     
    - 1 : haute prioritaire

    Autre solution, forcer le theard à  faire une pause en maudifiant le programme avec la fonction :
    <br />[NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.04]];<br />
    


    Pour en savoir plus : http://www.projectomega.org/article.php?lg=fr&php=oreilly_cocoa17&p=1
  • 19:22 modifié #3
    Ok, merci. J'avais zappé la priorité. Je vais essayer de faire avec.
Connectez-vous ou Inscrivez-vous pour répondre.