为了账号安全,请及时绑定邮箱和手机立即绑定
  • 扩展Java并发的知识1: Java Memory Mode(JMM)描述了java线程如何通过内存进行交互 Java通过synchronized,volatile, final关键等来实现happens-before原则 扩展Java并发的知识2:(注:Java5.0之后引入) java锁机制和等待条件的高层实现 java.util.concurrent.locks 可以了解如何对程序实现加锁以及同步的通信。 扩展Java并发的知识3: 线程安全性 原子性与可见性 java.util.concurrent.atomic synchronized & volatile DeadLocks
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

  • 这个课程的内容
    查看全部
    0 采集 收起 来源:总结及展望

    2015-05-02

  • synchronized关键字实现互斥行为,既可以出现在方法体之上也可以出现在方法体内,以一种块的形式出现。 然后通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。 步骤: 1.互斥:同一时间,只能有一个线程访问数据 2.同步:通信机制;一个线程完成,以某种方式通知其他线程 3.锁的概念:private final Object lockObj = new Object(); 4.互斥实现方式:synchronized关键字 synchronized(lockObj){---执行代码----}加锁操作 lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源 lockObj.notifyAll();唤醒所有lockObj对象上等待的线程
    查看全部
  • 线程的交互:互斥与同步 互斥:在同一时间只能有一条线程对关键数据或临界区进行操作 同步:线程之间的一种通信机制 一条线程做了一件事情,然后用某种方式去告诉其它线程:"我做完了"
    查看全部
  • 线程之间的调度是通过分时和抢占来完成的。
    查看全部
  • 如何正确停止线程 一、错误一:stop()方法 1、not stop:stop()方法会使线程戛然而止 2、使程序突然中止,无法完成完整的业务步骤,也无法进行清理工作 二、错误二:interrupt()方法 1、interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程 三、正确方法:设置退出标志 1、使用退出标志位来停止while循环 2、完成最后一次业务后跳出while循环后,之后进行一些清理工作 在异常抛出之前,线程刚好执行了Thread.sleep(1000); 然后在主线程main中就是休眠的这一秒中继续执行了thread.interrupt(); 因为thread是在休眠之中的,所以在 try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } 中抛出了异常,也就是说这时候的因为sleep中采用的interrupt()中断方法已经被处理了,就是理解为回归正常, 所以以后的isInterrupt()方法判断的都是没有中断的了,就是返回false。因为它再次循环就是在执行了异常之后,所以此时isInterrupt()都返回false
    查看全部
  • sleep(long millis, int nanos) 线程休眠 millis休眠的时间,单位是毫秒,可以精确到纳秒 join(long millis, int nanos) 调用线程 可以让其它线程等待自己运行,直到结束 static void yield() 当前运行线程释放处理器资源并且重新去竞争处理器资源 static Thread currentThread() 返回当前正在处理器上运行的线程的引用 重载的几个形式 1.没有参数,指明了其它的线程一定要等待正在执行的线程执行完毕之后,都会获得运行的机会 2.nanos是要把精确度改变,可改成纳秒
    查看全部
  • Java对线程的支持主要体现在Thread(class)和Runnable(interface)之上。两者中共通的方法 public void run(){}为我们提供了线程实际工作执行的代码。
    查看全部
  • 线程 是基本的 程序单位
    查看全部
  • 线程安全性
    查看全部
    0 采集 收起 来源:总结及展望

    2015-04-29

  • Lock & Condition
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

  • 如何扩展java并发知识
    查看全部
    0 采集 收起 来源:总结及展望

    2015-04-29

  • 有意思
    查看全部
  • join让其他线程等待当前线程执行完,sleep线程休眠,volitale使得线程间变量可见性
    查看全部
  • 继承与Thread类的可以直接使用getName(); 而继承于Runnable接口的必须使用Thread.currentZThread.getName(); 继承Thread类: Thread actor = new Actor(); actor.setName("Mr.Thread"); actor.start(); 实现Runnable接口:Thread actressThread = new Thread(new Actress(),"Ms.Runnable"); actressThread.start();
    查看全部

举报

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

微信扫码,参与3人拼团

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

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