为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
深入浅出Java多线程_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

深入浅出Java多线程

Arthur JAVA开发工程师
难度入门
时长 4小时 0分
  • 线程的常用方法
    查看全部
  • thread常用的方法
    查看全部
  • 错误的退出方法 1,stop方法 stop方法会使程序戛然而止,并不给程序响应的时间,使程序无法完成业务流程。 2,interrupt方法 interrupt方法只是设置interrupt标志位而已,且在线程阻塞的情况下,这个标志位会被清除,无法设置中断标志位。 正确的方法应该是设置退出标志位来停止循环。
    查看全部
  • Runnable接口可以实现Thread方法,继承接口毕业要实现该接口的run()方法。在调用Thread方法的start方法时,java虚拟机就会调用该进程的run()方法。 要是没有sleep的话,会在执行完Actors之后再去执行Actordress。 yield(); 让出当前线程的执行权限,让线程调度重新选择线程进行执行; join(); 让其他线程都停止,等待当前调用join方法的线程执行完毕。
    查看全部
  • 进程:程序动态性的执行过程,持有资源(内存)和线程 线程是系统中最小的执行单元,同一进程中有多个进程,线程共享进程的资源 线程间的关系有竞争和互斥
    查看全部
  • Thread.yield可以让出处理器时间,使线程竞争,下一次谁不一定
    查看全部
  • Thread常用方法
    查看全部
  • Thread常用方法
    查看全部
  • Java5中并发编程工具
    查看全部
    0 采集 收起 来源:总结及展望

    2017-02-24

  • 要点回顾
    查看全部
    0 采集 收起 来源:总结及展望

    2017-02-24

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

    2018-03-22

  • 线程的交互:互斥与同步
    查看全部
  • 互斥:关键数据在一个时间被一个线程使用。 同步实现:object 方法wait()/notify()/notifyall(); wait set 类似于线程的休息室,访问共享数据的代码称为critical section。一个线程获取锁,然后进入临界区 ,发现某些天骄不满足,然后调用锁对象上的wait方法,然后线程释放掉锁资源,进入锁对象上的wait set。其他线程可以获取所资源,然后执行,完了以后调用notify,通知锁对象上的等待线程。 同步是两个线程之间的一种交互的操作(一个线程发出消息另外一个线程响应)。 同步的实现:wait();notify();notifyAll();这三个方法都是属于Java中的Object对象的成员函数。 调用wait();和notifyAll();方法使线程进入等待或者唤醒不是在同一个线程的同一次操作中执行的,当操作结束,唤醒了所有的等待线程之后,线程又将有着公平的机会竞争CPU资源。 注意:notify();方法唤醒wait set 中的一条线程使其具有竞争CPU的机会,具体唤醒那一条线程是随机的由Java的底层算法决定,我们不能去控制。 通过synchronized关键字为临界区(critical)加锁,这样在线程竞争资源时,当某一条线程获得锁进入临界区后,其他线程将无法再次获取锁进入临界区(critical),直到获得锁的线程退出临界区(critical),释放锁资源。Java的语法保证了同一时间只能有一条线程可以获得lockObje
    查看全部
  • wait set -- 线程的休息室 Critical Section 共享资源/共享数据 --- 临界区 当现在有一个线程需要访问共享资源的时候 首先,需要获得锁,当它获得了锁之后将进入临界区进行操作 操作过程中,如果它发现某些情况不被满足(条件不满足无法执行) 它将调用锁对象上的一个wait方法,此时这个线程首先会释放掉锁资源,然后进入到锁对象上的wait set 由于这个线程释放掉了锁资源,使得其他线程可以有机会来竞争这个临界资源 所以其他的线程获得了锁并且进入到临界区域,同时在锁对象上的等待集合中有多条线程在等待条件的满足 当当前运行线程执行完某些操作,需要通知等待的线程时,它调用notify()方法,将会唤醒锁资源所持有的等待集合中一条线程(随机唤醒,由底层算法实现的,无法控制) 使这条线程有机会竞争CPU资源 或者,当当前运行线程调用了notifyAll()方法,将会使当前锁对象上的等待集合中的全部线程都被唤醒,从而有机会在当前线程离开并释放了锁之后,竞争这个临界资源的锁对象 -------------------- 通过synchronized关键字为临界区(critical)加锁,这样在线程竞争资源时,当某一条线程获得锁进入临界区后,其他线程将无法再次获取锁进入临界区(critical),直到获得锁的线程退出临界区(critical),释放锁资源。 ------------------------
    查看全部
  • synchronized 英['sɪŋkrənaɪzd] 美['sɪŋkrənaɪzd] [词典] 同步的; [例句]Directory information is synchronized in one or both directories. 在一个或两个目录中同步目录信息。 [其他] 原型: synchronize
    查看全部

举报

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

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