Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <pthread.h>
- #include <stdio.h>
- #include "gemiddelde.h"
- float gem1, gem2, gem3, gem4;
- void *bereken1(void *a);
- void *bereken2(void *a);
- void *bereken3(void *a);
- void *bereken4(void *a);
- int main()
- {
- float gemiddelde = 0;
- pthread_t tid1, tid2, tid3, tid4; /* identifiers voor de verschillende threads */
- pthread_attr_t attr1, attr2, attr3, attr4; /* vzl thread attributen */
- pthread_attr_init(&attr1); /* zet de default attributen */
- pthread_attr_init(&attr2); /* zet de default attributen */
- pthread_attr_init(&attr3); /* zet de default attributen */
- pthread_attr_init(&attr4); /* zet de default attributen */
- pthread_create(&tid1, &attr1, bereken1, a1); /* maak een thread */
- pthread_create(&tid2, &attr2, bereken2, a2); /* maak een thread */
- pthread_create(&tid3, &attr3, bereken3, a3); /* maak een thread */
- pthread_create(&tid4, &attr4, bereken4, a4); /* maak een thread */
- pthread_join(tid1, NULL); /* laat de main thread wachten op de andere threads */
- pthread_join(tid2, NULL); /* laat de main thread wachten op de andere threads */
- pthread_join(tid3, NULL); /* laat de main thread wachten op de andere threads */
- pthread_join(tid4, NULL); /* laat de main thread wachten op de andere threads */
- gemiddelde = (gem1 + gem2 + gem3 + gem4) / 4;
- printf("Gemiddelde is %f\n", gemiddelde);
- }
- void *bereken1(void *param)
- {
- int i;
- float som = 0;
- float *a = (float*)param;
- gem1 = 0;
- for (i = 0; i < 100000; ++i)
- som += a[i];
- gem1 = som / 100000;
- pthread_exit(0);
- }
- void *bereken2(void *param)
- {
- int i;
- float som = 0;
- float *a = (float*)param;
- gem2 = 0;
- for (i = 0; i < 100000; ++i)
- som += a[i];
- gem2 = som / 100000;
- pthread_exit(0);
- }
- void *bereken3(void *param)
- {
- int i, som = 0;
- float *a = (float*)param;
- gem3 = 0;
- for (i = 0; i < 100000; ++i)
- som += a[i];
- gem3 = som / 100000;
- pthread_exit(0);
- }
- void *bereken4(void *param)
- {
- int i;
- float som = 0;
- float *a = (float*)param;
- gem4 = 0;
- for (i = 0; i < 100000; ++i)
- som += a[i];
- gem4 = som / 100000;
- pthread_exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement