linux下的C语言开发(多线程编程).pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文由长春白癜风专科医院 / 收集,转载请注明出处 linux 下的C 语言开发(多线程编程) 多线程和多进程还是有很多区别的。其中之一就是,多进程是linux 内核本 身所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间 都是相互隔离的,而多线程则不同,不同的线程除了堆栈空间之外所有的数据都 是共享的。说了这么多,我们还是自己编写一个多线程程序看看结果究竟是怎么 样的。 [cpp] view plaincopy 1. #include stdio.h 2. #include pthread.h 3. #include unistd.h 4. #include stdlib.h 5. 6. void func_1(void* args) 7. { 8. while (1){ 9. sleep(1); 10. printf(this is func_1!\n); 11. } 12. } 13. 14. void func_2(void* args) 15. { 16. while (1){ 17. sleep(2); 18. printf(this is func_2!\n); 19. } 20. } 21. 本文长春白癜风专科医院 / 收集,转载请注明出处 本文由长春白癜风专科医院 / 收集,转载请注明出处 22. int main() 23. { 24. pthread_t pid1, pid2; 25. 26. if (pthread_create(pid1, NULL, func_1, NULL)) 27. { 28. return -1; 29. } 30. 31. if (pthread_create(pid2, NULL, func_2, NULL)) 32. { 33. return -1; 34. } 35. 36. while (1){ 37. sleep(3); 38. } 39. 40. return 0; 41. } 和我们以前编写的程序有所不同,多线程代码需要这样编译,输入gcc thread.c -o thread -lpthread,编译之后你就可以看到thread 可执行文件,输 入./thread 即可。 [cpp] view plaincopy 1. [test@localhost Desktop]$ ./thread 2. this is func_1! 3. this is func_2! 4. this is func_1! 本文长春白癜风专科医院 / 收集,转载请注明出处 本文由长春白癜风专科医院 / 收集,转载请注明出处 5. this is func_1! 6. this is func_2! 7. this is func_1! 8. this is func_1! 9. this is func_2! 10. this is func_1! 多线程和多进程还是有很多区别的。其中之一就是,多进程是linux 内核本身 所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都 是相互隔离的,而多线程则不同,不同的线程除了堆栈空间之外所有的数据都是 共享的。说了这么多,我们还是自己编写一个多线程程序看看结果究竟是怎么样 的。 [cpp] view plaincopy 1. #include stdio.h 2. #include pthread.h

文档评论(0)

文档终结者 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档