/[livstidsfanger]/trunk/livstidsfanger.c
ViewVC logotype

Diff of /trunk/livstidsfanger.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 6 by trond, 2014-11-07T08:09:43Z Revision 7 by trond, 2014-11-07T08:56:07Z
# Line 49  noreturn int main(int argc, char **argv) Line 49  noreturn int main(int argc, char **argv)
49    
50    tellendeLivstidsfange = random() % ANTALL_LIVSTIDSFANGER;    tellendeLivstidsfange = random() % ANTALL_LIVSTIDSFANGER;
51    
52      printf("bryter %u er i utgangspunktet vippet %s\n", 1U, brytere[0] == true ? "opp" : "ned");
53      printf("bryter %u er i utgangspunktet vippet %s\n", 2U, brytere[1] == true ? "opp" : "ned");
54      printf("livstidsfange %zu er utpekt som den tellende livstidsfange\n\n", tellendeLivstidsfange + 1);
55    
56    puts("maintråden venter på å få låst mutex");    puts("maintråden venter på å få låst mutex");
57    pthread_mutex_lock(&mutex);    pthread_mutex_lock(&mutex);
58    puts("mutex er låst av maintråden");    puts("mutex er låst av maintråden");
# Line 107  noreturn void *livstidsfange(void *arg) Line 111  noreturn void *livstidsfange(void *arg)
111    
112      // Utføre selve simuleringen ved å sjekke brytere, m.m.      // Utføre selve simuleringen ved å sjekke brytere, m.m.
113      antallBesok[i]++;      antallBesok[i]++;
114      printf("livstidsfange %2zu har besøkt rommet %u ganger\n", i + 1, antallBesok[i]);      printf("livstidsfange %2zu har besøkt rommet %u gang%s\n", i + 1, antallBesok[i], antallBesok[i] == 1 ? "" : "er");
115    
116      if (i == tellendeLivstidsfange) {      if (i == tellendeLivstidsfange) {
117        if (brytere[0] == false) {        if (brytere[0] == false) {
# Line 171  void visResultater(void) Line 175  void visResultater(void)
175    fflush(stdout);    fflush(stdout);
176    fflush(stderr);    fflush(stderr);
177    fflush(stdout);    fflush(stdout);
178    puts("");    puts("\nResultater:\n");
179    
180    printf("livstidsfange %2zu er den tellende livstidsfangen\n\n", tellendeLivstidsfange + 1);    printf("bryter %u er ved avslutning vippet %s\n", 1U, brytere[0] == true ? "opp" : "ned");
181      printf("bryter %u er ved avslutning vippet %s\n", 2U, brytere[1] == true ? "opp" : "ned");
182      printf("livstidsfange %2zu var den tellende livstidsfangen\n\n", tellendeLivstidsfange + 1);
183    
184    for (i = 0; i < ANTALL_LIVSTIDSFANGER; i++) {    for (i = 0; i < ANTALL_LIVSTIDSFANGER; i++) {
185      printf("livstidsfange %2zu: antall besøk = %u\n", i + 1, antallBesok[i]);      printf("livstidsfange %2zu: antall besøk: %u\n", i + 1, antallBesok[i]);
186    } // for    } // for
187    
188    fflush(stdout);    fflush(stdout);


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

svn@ximalas.info
ViewVC Help
Powered by ViewVC 1.3.0-beta1