Advertisement
piffy

alitalia

Sep 3rd, 2014
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.68 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <pthread.h>
  4. /** NOTA: L'anomalia non si presenta se eseguita all'interno di Macchine virtuali,
  5. come VirtualBox o VmWare. Perché? */
  6. int biglietti = 433;
  7.  
  8. void * sell_ticket(void *arg){
  9. biglietti++;
  10. return NULL;
  11. }
  12. void * buy_ticket(void *arg){
  13. biglietti--;
  14. return NULL;
  15. }
  16. int main(int argc , char * argv[]){
  17. int i;
  18. pthread_t th1, th2;
  19. printf("biglietti all'inizio: %d\n", biglietti);
  20. for (i=0; i<100000; i++) {
  21.     pthread_create(&th1, NULL , buy_ticket , NULL);
  22.     pthread_create(&th2, NULL , sell_ticket , NULL);
  23.     pthread_join(th1, NULL);
  24.     pthread_join(th2, NULL);
  25. }
  26.  
  27. printf("biglietti alla fine: %d\n", biglietti);
  28. return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement