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

深入浅出Java多线程

Arthur JAVA开发工程师
难度入门
时长 4小时 0分
  • 争用条件 1、当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted) 2、原因:每个线程在操作数据时,会先将数据初值读【取到自己获得的内存中】,然后在内存中进行运算后,重新赋值到数据。 3、争用条件:线程1在还【未重新将值赋回去时】,线程1阻塞,线程2开始访问该数据,然后进行了修改,之后被阻塞的线程1再获得资源,而将之前计算的值覆盖掉线程2所修改的值,就出现了数据丢失情况
    查看全部
  • volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值 Thread.yield();//让出处理器时间,公平竞争
    查看全部
  • 创建线程的方法 有两种 1.继承Thread类 2.实现Runnable接口 线程中的方法比较有特点,比如:启动(start),休眠(sleep),停止等,多个线程是交互执行的(cpu在某个时刻。只能执行一个线程,当一个线程休眠了或者执行完毕了,另一个线程才能占用cpu来执行)因为这是cpu的结构来决定的,在某个时刻cpu只能执行一个线程,不过速度相当快,对于人来将可以认为是并行执行的。 在一个java文件中,可以有多个类,单只能有一个public类 这两种创建线程的方法本省没有任何的不同,一个是实现Runnable接口,一个是继承Thread类,二使用实现Runnable接口这种方法,:1 可以避免java的单继承的特性带来的局限性 2.适合多个相同程序的代码去处理同一个资源情况,把线程同程序的代码及数据有效的分离,较好的体现了面向对象的设计思想。开发中大多数情况下 都使用实现Runnable接口这种方法创建线程 实现Runnable接口创建的线程最终还是要通过将自身实例作为参数传递给Thhread然后执行 语法:Thread actress=new Thread(Runnable target ,String name); 例如;Thread actressThread=new Thread(new Actress()"Ms.runnable"); actress Thread.start();
    查看全部
  • 继承线程的方法有两种 1-1:继承Thread类<br><br> 1-2:实现Runnable接口<br><br> 2:线程中的方法比较有特点,比如:启动(start)、休眠(sleep)、停止等,多个线程是交互执行的(CPU在某个时刻<br> <br> 只能执行一个线程,当一个线程休眠了或者执行完毕了,另一个线程才能占用CPU来执行),因为这是CPU的结构来决<br> <br> 定的,在某个时刻CPU只能执行一个线程,不过速度相当快,对于人来讲可以认为是并行执行的。<br> <br> 在一个.java文件中,可以有多个类,但只能有一个public类。<br> <br> 这两种创建线程的方法本身没有什么不同,一个是实现Runnable接口,一个是继承Thread类。而使用实现Runnable接口这种方法:1.可以避免Java的单继承的特性带来的局限性;2.适合多个相同程序的代码去处理同一个资源的情况,把线程同程序的代码及数据有效分离,较好地体现了面向对象的设计思想。开发中大多情况下都使用实现Runnable接口这种方法创建线程。<br> <br> 实现Runnable接口创建的线程最终还是要通过将自身实例作为参数传递给Thread然后执行<br> 语法:Thread Actress = new Thread(Runnable target, String name)<br> 例如:Thread actressThread=new Thread(new Actress(),"Ms.Runnable");<br> actressThread.start();<br> }<br> <br> }
    查看全部
  • 隋唐演义的对象 军队:ArmyRunnable 英雄人物:keypersonThread 舞台:Stage
    查看全部
  • 隋唐演义的对象 军队:ArmyRunnable 英雄人物:KeyPersonThread 舞台:Stage
    查看全部
  • 舞台的建立
    查看全部
  • 英雄人物的线程
    查看全部
  • 军队线程的建立
    查看全部
  • Thread常用方法
    查看全部
  • 1、进程是程序(任务)执行过程,持有资源(共享内存,共享文件)和线程。 进程是动态性的 2、线程是系统中最小的执行单元,同一进程中有多个线程,线程共享进程的资源, 一个进程中包含了多个线程。 3.线程之间需要相互通信,同步(线程之间的合作关系), 互斥(线程之间的竞争关系)。
    查看全部
  • 进程:程序的执行过程,只有资源和线程 线程: 系统中最小的执行单元,比如一个软件里的各种任务就是线程,同一进程中有多个线程,线程共享进程的资源 线程的交互:互斥和同步
    查看全部
  • 创建线程 thread 启动想成 start 线程休眠 sleep 加入线程 join 释放资源 yield
    查看全部
    0 采集 收起 来源:慕课感言

    2016-07-14

  • 并发编程工具
    查看全部
    0 采集 收起 来源:总结及展望

    2016-07-14

  • 多线程模型
    查看全部
    0 采集 收起 来源:总结及展望

    2016-07-14

举报

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

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