为了账号安全,请及时绑定邮箱和手机立即绑定
  • 通过线程的交互(互斥与同步)达到正确处理数据的要求。 互斥:在同一时间只能有一条线程对关键数据或者临界区(critical)进行操作。 同步:线程之间的一种通信机制,一条线程做了一件事情会以某种方式去告诉其他的线程自己完成了。 synchronized关键字实现互斥,既可以出现在方法体之上也可以出现在方法体内,以一种块的形式出现。 然后通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。 步骤: 1.互斥:同一时间,只能有一个线程访问数据 2.同步:通信机制;一个线程完成,以某种方式通知其他线程 3.锁的概念:private final Object lockObj = new Object(); 4.互斥实现方式:synchronized关键字 sychronized(lockObj){---执行代码----}加锁操作 lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源 lockObj.notifyAll();唤醒所有lockObj对象上等待的线程
    查看全部
  • JAVA中禁止使用Thread.stop():
    查看全部
  • volatile refJMM happens-before原则 volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值
    查看全部
  • thread
    查看全部
  • thread 常用方法
    查看全部
  • 。。。。。。。。。。。。。
    查看全部
  • 。。。。。。。。。。。。。
    查看全部
  • 线程。
    查看全部
  • 多个线程同时尝试访问一个资源(内存区域),导致数据被破坏,这种现象叫做条件争用。
    查看全部
  • 扩展建议: 书籍: Java核心技术 (Core Java Volume I--Fundamentals) Java Concurrency in practice Java Memory Mode JMM描述了java线程如何通过内存进行交互 happens-before synchronized,volatile & final Lock 和 Condition对象 java锁机制和等待条件的高层实现 java.util.concurrent.locks 线程的安全性: 原子性和可见性 java.util.concurrent.atomic synchronized & volatile DeadLocks 多线程常用的交互模型: Producer-Consumer模型 Read-Write Lock模型 Future模型 Worker Thread 模型 java5引入的并发编程工具: java.util.concurrent 线程池ExecutorService Callable & Future BlockingQueue
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

  • 同步是两个线程之间的一种交互的操作(一个线程发出消息另外一个线程响应)。 同步的实现:wait();notify();notifyAll();这三个方法都是Object对象的成员函数。 调用wait();和notifyAll();方法使线程进入等待或者唤醒不是在同一个线程的同一次操作中执行的,当操作结束,唤醒了所有的等待线程之后,线程又将有着公平的机会竞争CPU资源。 注意:notify();方法唤醒wait set 中的一条线程使其具有竞争CPU的机会,具体唤醒那一条线程是随机的由Java的底层算法决定。 通过synchronized关键字为临界区(critical)加锁,这样在线程竞争资源时,当某一条线程获得锁进入临界区后,其他线程将无法再次获取锁进入临界区(critical),直到获得锁的线程退出临界区(critical),释放锁资源.Java的语法保证了同一时间只能有一条线程可以获得lockObject。 wait Set
    查看全部
  • 争用条件(Race Condition):当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted),这种现象称为争用条件。 线程之间的调度是通过分时和抢占来完成的。
    查看全部
  • 进程:动态性 程序或任务的执行的过程, 持有资源(共享内存,共享文件)和线程(进程是它们的载体) 线程: 系统中最小的执行单元,同一进程中有多个线程。线程共享线程的资源 线程交互:即线程通信 线程间存在同步和互斥(方式)
    查看全部
  • 扩展建议: Java Memory Mode JMM描述了java线程如何通过内存进行交互 happens-before synchronized,volatile & final Lock 和 Condition对象 java锁机制和等待条件的高层实现 java.util.concurrent.locks 线程的安全性: 原子性和可见性 java.util.concurrent.atomic synchronized & volatile DeadLocks 多线程常用的交互模型: Producer-Consumer模型 Read-Write Lock模型 Future模型 Worker Thread 模型 java5引入的并发编程工具: java.util.concurrent 线程池ExecutorService Callable & Future BlockingQueue
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

  • 扩展建议: Java Memory Mode JMM描述了java线程如何通过内存进行交互 happens-before synchronized,volatile & final Lock 和 Condition对象 java锁机制和等待条件的高层实现 java.util.concurrent.locks 线程的安全性: 原子性和可见性 java.util.concurrent.atomic synchronized & volatile DeadLocks 多线程常用的交互模型: Producer-Consumer模型 Read-Write Lock模型 Future模型 Worker Thread 模型 java5引入的并发编程工具: java.util.concurrent 线程池ExecutorService Callable & Future BlockingQueue
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

举报

0/150
提交
取消
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!