25. juli 2004 - 09:36
Der er
14 kommentarer og 1 løsning
tråde i linux til multitasking
hey tråde i linux.....Skal men bruge tråde til multitasking ? Jeg kunne godt bruge et link som fortæller om multitasking, med noget kode, så man kunne komme i gang...
Annonceindlæg fra Idura
Du har valget mellem klassisk Unix fork'ing og Posix threading.
hvad er bedst hvis du skulle komme med en mening ?
har du et link til en site som fortæller om det...fordi jeg ved ik helt hvordan man holder styr på de forskellige processer man så har startet...
Det er mit indtryk at thread programmerings paradigmet er det som man foretrækker idag (både Java og .NET bruger en thread model), så umiddelbart synes jeg måske at Posix threading ville være det mest interessante.
har du noget om multitasking ?
Du mener noget om fork'ing ?
25. juli 2004 - 10:19
#10
ok..giv dit svar
25. juli 2004 - 10:36
#11
ok Jeg skal ikke lave nogen eksempler ?
25. juli 2004 - 12:12
#12
det må du da gerne, hvis du vil... :)
25. juli 2004 - 13:31
#13
Posix threads eksempel: #include <stdio.h> #include <stdlib.h> #include <pthread.h> void *f(void *arg) { int start,slut,i; int *retptr; start = *((int *)arg); slut = start + 9; for(i=start;i<=slut;i++) { printf("%d\n",i); sleep(1); } retptr = (int *)malloc(sizeof(int)); *retptr = slut; return retptr; } #define N 5 int main() { int i,arg[N]; int *retval[N]; pthread_t t[N]; for(i=0;i<N;i++) { arg[i] = 10 * i; pthread_create(&t[i], NULL, f, &arg[i]); } for(i=0;i<N;i++) { pthread_join(t[i],(void **)&retval[i]); if(arg[i]+9 == *retval[i]) { printf("OK\n"); } else { printf("Fejl\n"); } } return 0; }
25. juli 2004 - 13:42
#14
Fork eksempel: #include <stdio.h> #include <stdlib.h> #include <unistd.h> void f(int start) { int slut,i; slut = start + 9; for(i=start;i<=slut;i++) { printf("%d\n",i); sleep(1); } } #define N 5 int main() { int stat[N],i; pid_t pid[N]; for(i=0;i<N;i++) { pid[i] = fork(); if(pid[i]==0) { f(10*i); return 0; } } for(i=0;i<N;i++) { waitpid(pid[i],&stat[i],0); if(stat[i] == 0) { printf("OK\n"); } else { printf("Fejl\n"); } } return 0; }
25. juli 2004 - 15:01
#15
takker :)
Kurser inden for grundlæggende programmering