目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7088.2k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(3.7k)
赞(0)

线程并发协作总结

线程并发协作(也叫线程通信)

生产者消费者模式:

  1. 生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。

  2. 对于生产者,没有生产产品之前,消费者要进入等待状态。而生产了产品之后,又需要马上通知消费者消费。

  3. 对于消费者,在消费之后,要通知生产者已经消费结束,需要继续生产新产品以供消费。

  4. 在生产者消费者问题中,仅有synchronized是不够的。synchronized可阻止并发更新同一个共享资源,实现了同步但是synchronized不能用来实现不同线程之间的消息传递(通信)。

  5. 那线程是通过哪些方法来进行消息传递(通信)的呢?见如下总结:

    方法名作 用
    final void wait()表示线程一直等待,直到得到其它线程通知
    void wait(long timeout)线程等待指定毫秒参数的时间
    final void wait(long timeout,int nanos)线程等待指定毫秒、微秒的时间
    final void notify()唤醒一个处于等待状态的线程
    final void notifyAll()唤醒同一个对象上所有调用wait()方法的线程,优先级别高的线程优先运行
  6. 以上方法均是java.lang.Object类的方法;

都只能在同步方法或者同步代码块中使用,否则会抛出异常。

OldLu建议

在实际开发中,尤其是“架构设计”中,会大量使用这个模式。 对于初学者了解即可,如果晋升到中高级开发人员,这就是必须掌握的内容。

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2