歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 一步一步學Linux C:線程互斥實例

一步一步學Linux C:線程互斥實例

日期:2017/3/1 10:26:05   编辑:Linux編程
一步一步學Linux C:線程互斥實例
  1. /*編譯時注意,要手動連接庫*/
  2. #include <stdio.h>
  3. #include <pthread.h>
  4. #include <unistd.h>
  5. #include <stdlib.h>
  6. static int value = 0;
  7. pthread_mutex_t mutex;
  8. void func(void* args)
  9. {
  10. while(1)
  11. {
  12. pthread_mutex_lock(&mutex);
  13. sleep(1);
  14. value ++;
  15. printf("value = %d!\n", value);
  16. pthread_mutex_unlock(&mutex);
  17. }
  18. }
  19. int main()
  20. {
  21. pthread_t pid1, pid2;
  22. pthread_mutex_init(&mutex,NULL);
  23. if(pthread_create(&pid2,NULL,&func,NULL))
  24. {
  25. return -1;
  26. }
  27. if(pthread_create(&pid1,NULL,&func,NULL))
  28. {
  29. return -1;
  30. }
  31. while(1)
  32. sleep(0);
  33. return 0;
  34. }

編譯時要手動連接庫:詳細說明見:http://www.linuxidc.com/Linux/2012-03/57198.htm

Copyright © Linux教程網 All Rights Reserved