Avatar billede mickni33 Nybegynder
23. november 2005 - 10:19 Der er 4 kommentarer og
1 løsning

threads og sleep

Min uendelige while løkker hopper ud. når jeg har en sleep(10) med i min tråd funktion. når jeg fjerner den virker det fint.
hvordan kan det være.

int sekunder=0;

void* thread_function(void* arg) {
  sleep(5);
  printf("dette er en tråd\n");
  sekunder=10;
}


///////////////////////////////////////////////
int main( int argc, char * argv[] ) {
  int tmpFarve=1;

  pthread_t thread;
  while(true) {
    pthread_create(&thread,NULL,thread_function,NULL);
    if(tmpFarve==1) {
      flytSpiller(1);
    } else {
      flytComputer(-1);
    }
    print(Braet);
    tmpFarve=tmpFarve*-1;
    sekunder=0;
  }
Avatar billede arne_v Ekspert
24. november 2005 - 11:59 #1
prøv evt at erstatte sleep med select(0, NULL, NULL, NULL, &timeval)
Avatar billede mickni33 Nybegynder
24. november 2005 - 12:09 #2
Afprøver lige engang i aften.. Men den version har jeg ikke prøvet så jeg håber det virker
Avatar billede mickni33 Nybegynder
29. november 2005 - 12:51 #3
hmmmmm select virker ikke... kan man ikke få en tråd til at vente 5 sec sådan at trådfunktionen arbejder lidt langsommere..

er main også en tråd?
Avatar billede mickni33 Nybegynder
29. november 2005 - 12:56 #4
husk at lave svar
Avatar billede arne_v Ekspert
29. november 2005 - 23:29 #5
select var mit bedste bud

jeg mener at du kan tråde prioriteter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester