嵌入式的应用程序设计(Linux)12计科(4章).pptVIP

嵌入式的应用程序设计(Linux)12计科(4章).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux线程控制程序设计-pthread_exit 结果分析: 求职应注意的礼仪 求职时最礼貌的修饰是淡妆 面试时最关键的神情是郑重 无论站还是坐,不能摇动和抖动 对话时目光不能游弋不定 要控制小动作 不要为掩饰紧张情绪而散淡 最优雅的礼仪修养是体现自然 以一种修养面对两种结果 必须首先学会面对的一种结果----被拒绝 仍然感谢这次机会,因为被拒绝是面试后的两种结果之一。 被拒绝是招聘单位对我们综合考虑的结果,因为我们最关心的是自己什么地方与用人要求不一致,而不仅仅是面试中的表现。 不要欺骗自己,说“我本来就不想去”等等。 认真考虑是否有必要再做努力。 必须学会欣然面对的一种结果----被接纳 以具体的形式感谢招聘单位的接纳,如邮件、短信 考虑怎样使自己的知识能力更适应工作需要 把走进工作岗位当作职业生涯的重要的第一步,认真思考如何为以后的发展开好头。 Thank you * Linux线程控制程序设计-线程退出 进程中任何一个线程调用exit系列函数那么整个进程都会终止,线程可以通过如下3种方式退出,在不终止整个进程的情况下停止线程。 1 从启动例程中返回,返回值是线程的退出码。 2 线程可以被同一进程中的其他线程终止。 3 线程调用pthread_exit函数退出 #include pthread.h Void pthread_exit(void *retval); retval参数是线程的终止状态,由用户指定并且传递给函数的一个参数。 * Linux线程控制程序设计-pthread_exit 练习:创建两个进程并退出。 * Linux线程控制程序设计-线程阻塞 sleep函数可以让进程或线程进入休眠,如果主线程不休眠就有可能在其他线程还没运行完就退出终止了。 如果当一个线程已经执行完成之后,可以被其他的线程来阻塞挂起,然后等待指定的线程调用pthread_exit,以启动例程中返回或者被取消。Linux内核可以调用pthread_join函数完成对线程的阻塞。 #include pthread.h Int pthread_join(pthread_t thread,void **retval); Thread是线程ID,用于指定要等待其终止的线程;retval用于存放其他线程返回值。调用成功返回0,否则返回一个非0值。 Linux线程控制程序设计-pthread_join 把刚才的程序中sleep()函数改为: 观察结果。分析一下。 练习:下发源码pthread.c,调试并运行,试说明程序功能,观察结果分析原因。 * Linux线程控制程序设计-pthread_join Pthread.c程序运行结果并没有按照线程的创建顺序输出线程号。原因是线程具有并发性,执行没有先后次序,创建的6个线程谁先被执行是随机的。 线程的取消:int pthread_cancel(pthread_t thread); 线程的清理: void pthread_cleanup_push(void (*routine)(void *),void *arg); void pthread_cleanup_pop(int execute); * 线程的同步方式 当多个线程共享相同的内存时,需要确保每个线程看到一致的数据。如果每个线程使用的变量都是其他线程不会读取或者修改的,就不会存在一致性问题,否则就需要注意同步问题。 可以使用互斥量或者同步变量方式来解决线程同步问题。 互斥锁是一个简单的锁定命令,它可以用来锁定对共享资源的访问。Linux内核提供相应函数来文成对应的操作。 介绍pthread_mutex_lock函数。 * Linux线程控制程序设计-pthread_mutex_lock 功能:用于锁定由参数mutex指向的互斥锁,格式如下: #include pthread.h Int pthread_mutex_lock(pthread_mutex_t *mutex); 如果mutex已经被锁定,那么当前调用的线程将会阻塞,直到互斥锁被其他线程释放。当函数返回,说明互斥锁已经被当前线程成功加锁。函数执行成功返回0。 练习:创建两个线程对同一变量累加,不使用互斥锁和使用互斥锁两种方式编程,观察并分析结果。 * 实验三:鼠标设备应用程序编写 功能要求: 利用fb设备进行指定目录的图片显示; 利用fb设备追踪鼠标设备,并模拟鼠标运行; 使用线程编程,让图片显示和模拟鼠标同步运行; 获取鼠标设备的动作信息,显示指定图片。 * 嵌入式应用程序设计 姚莉 * 第四章 Linux进程、线程 1、Linux进程控制程序设计 2、Linux线程控制程序设计 3、多线程综合实例练习 * Linux进程控制程序设计-理论基础 定义:进程是一

文档评论(0)

tk2469tk + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档