线程间的通讯

线程间的通讯对很多初学者来说过于抽象,不好理解。要想搞明白它们之间通讯的机制,最重要的就是先理解线程是什么,它是怎样工作的。

琢磨了好久,想到了一个比较活泼的例子。线程是什么?线程是傻瓜劳动力,四肢发达,没有头脑。要想让它做一些有利于生活的事情,必须得告诉它怎么做。所以有我们程序员写代码,我们写的代码,就是给线程做的指示,线程按照这些指示,一步一步往下走,直到做完为止。

在一个进程里会有很多线程,这些线程作为傻瓜劳动力,可以分享一些劳动资料。最常见的,就是多个线程,同时使用一个队列,有的线程按照指示,往里放东西,有的线程按照指示从里边拿东西。这一放一拿,线程和线程之间就交换了一些信息,从而实现了线程间的通讯。

最为经典的例子,就是两个线程分享同一个队列,一个是扮演生产者角色,一个是消费者角色。生产者执行一段生产代码,往队列里放消息。消费者从里边拿出来,按照消费的算法处理这个消息。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.在指定线程上执行操作 [selfperformSelector:@selector(run)onThread:...
    笑熬齊澄阅读 238评论 0赞 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,766评论 25赞 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,282评论 19赞 139
  • 关于: JSPatch -- 热修复BUG神器, 大公司会用它来做模块更新, 而且配合React native会更...
    itonny阅读 620评论 0赞 3
  • 致青春营销特种兵五班学员 今天状态不好,头疼的厉害,手机卡,看到战友们认真学习的态度打动了我,挺着也要完成作业,珍...
    眼贴阅读 321评论 0赞 0

友情链接更多精彩内容