Avatar billede djmaster Nybegynder
26. marts 2007 - 09:59 Der er 5 kommentarer og
1 løsning

Threads, hjælp til begynder trådprogrammering

Jeg har et ønske om at lave noget trådprogrammering.
Den ene tråd skal køres uden nogen form for bruger interrupt. Tråd 1: læser værdier fra comporten (hvert 5. minut)ind i en tekst fil, og det skal den gøre 24-7.
Tråd 2: skal håndtere bruger inputs, f.eks. kunne beregne gennemsnittet af de sidste 30 inputs til tekstfilen.

Er det noget der kan lade sig gøre for en begynder/lettere øvet? (jeg har kun modtaget undervisning i C++ 3 timer om ugen i 30 uger)

Nogen der kan vise et eksempel. f.eks.
tråd 1: for(int i = 1, i > 0; i++) Sleep(1000) //skulle gerne være en uendelig løkke der tæller i op hvert sekund
tråd 2: while(!kbhit())cout << "i er kommet op på: " << i << endl; //ved kbhit() skulle den gerne skrive variablen i ud.
Avatar billede bertelbrander Novice
26. marts 2007 - 19:41 #1
Hvis det er til windows står der lidt om tråde her:
http://damb.dk/threads.php
Der er et par eksempler.

Jeg har også lidt om Com-porten her:
http://damb.dk/comport.php
Det er også til windows.
Avatar billede djmaster Nybegynder
29. marts 2007 - 13:10 #2
Undskyld mit fravær, men har haft lidt travlt.

Jeg har tidligere været inde på den side. Men jeg har lidt svært ved at se hvad der sker mht. threads. Så jeg tror bare jeg springer over mht. threads. Det er nok ikke så let som jeg håbede på.

Ang comporten, og specielt Rx. Kan man så lave Rx funktionen om så den kun modtager en enkelt char, og ikke et helt array?
Avatar billede bertelbrander Novice
29. marts 2007 - 20:03 #3
Denne Rx funktion læser (højst) én karakter:

void Rx(HANDLE Port)
{
  char Buffer;
  DWORD Length;

  ReadFile(Port, &Buffer, 1, &Length, 0);

  if(Length)
      printf("%c", Buffer);
}
Avatar billede bertelbrander Novice
29. marts 2007 - 20:12 #4
Men hensyn til trådene:
Hvis du kikker på http://damb.dk/snip/thread.html så er ThreadProc en tråd, så der er to tråde, hovedtråden der kører i main og ThreadProc.

CreateThread starter tråden.

Resten af koden bliver brugt til at sende beskeder mellem de to tråde.
Avatar billede djmaster Nybegynder
30. marts 2007 - 10:22 #5
Jeg har stadig meget svært ved at se hvad der sker. Jeg forstår sådan set kun: if, do, while og printf. Så det er virkelig begynder niveau :D

Men nu vil jeg ikke tage mere af din tid, tak for hjælpen
Avatar billede djmaster Nybegynder
13. april 2007 - 18:07 #6
Luk
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