为了账号安全,请及时绑定邮箱和手机立即绑定
  • //数组输出 public static void printArr(int[] arr){ for(int i=0;i<arr.length;i++){ if(i!=arr.length-1){ System.out.print(arr[i]+","); }else{ System.out.println(arr[i]); } } }
    查看全部
  • public static void main(String[] ages){ int[] arr={11,22,22,33,44,29}; Arrays.sort(arr); for (int i : arr) { System.out.println(i); } }
    查看全部
  • 在程序设计语言中没有哪一种特性如线程一般矛盾。一方面可以简化模型,编写强大的代码,另一方面会因为考虑不周而面临bug。
    查看全部
    1 采集 收起 来源:慕课感言

    2015-12-02

  • 一、ArmyRunnable.java volatile boolean keepRunning = true; //volatile保证了线程可以正确的读取其他线程写入的值 //可见性 ref JMM, happens-before原则 -------------------------------------------------------------------------------------------- //军队线程 //模拟作战双方的行为 public class ArmyRunnable implements Runnable { //volatile保证了线程可以正确的读取其他线程写入的值 //可见性 ref JMM, happens-before原则 volatile boolean keepRunning = true; @Override public void run() { while(keepRunning){ //发动5连击 for(int i=0;i<5;i++){ System.out.println(Thread.currentThread().getName()+"进攻对方["+i+"]"); //让出了处理器时间,下次该谁进攻还不一定呢! Thread.yield(); } } System.out.println(Thread.currentThread().getName()+"结束了战斗!"); } }
    查看全部
  • CPU一次只能處理一個線程,所以兩個線程交替進行
    查看全部
  • 本来不想说的,做的太生动了,太棒了
    查看全部
  • 当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted),这种现象称为争用条件 原因是,每个线程在操作数据时,会先将数据初值读【取到自己获得的内存中】,然后在内存中进行运算后,重新赋值到数据。 争用条件 原因: 线程1在还【未重新将值赋回去时】,线程1阻塞,线程2开始访问该数据,然后进行了修改,之后被阻塞的线程1再获得资源,而将之前计算的值覆盖掉线程2所修改的值,就出现了数据丢失情况
    查看全部
  • 哪里有好的java内存讲解视频啊
    查看全部
    1 采集 收起 来源:慕课感言

    2014-11-09

  • interrupt方法中断线程
    查看全部
  • 当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted),这种现象称为争用条件 原因是,每个线程在操作数据时,会先将数据初值读【取到自己获得的内存中】,然后在内存中进行运算后,重新赋值到数据。 争用条件 原因: 线程1在还【未重新将值赋回去时】,线程1阻塞,线程2开始访问该数据,然后进行了修改,之后被阻塞的线程1再获得资源,而将之前计算的值覆盖掉线程2所修改的值,就出现了数据丢失情况
    查看全部
  • 9
    查看全部
    1 采集 收起 来源:慕课感言

    2015-09-24

  • 1、cpu在一个时间片以内,只能执行一个线程,或者说在一个时间片以内只有一个线程能获得cpu来执行它。 2、就像是每个朝代(相当于时间片)只能有一支军队(相当于一个个的线程)获得政权(相当于cpu)一样; 注:cpu在执行指令的时候,是划分为一个个的时间片来执行的; 在一个时间片以内,具体执行哪个线程要看该线程的优先级等因素。
    查看全部
  • 1.加入join是为了让舞台线程最后停止,如果不加有可能舞台线程结束,军队线程还未停止,就好比导演喊停,演员还在演!可以在join后面加入测试语句System.out.println("舞台结束!");,然后去掉或者保留join观察效果。 2.volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值 3.Thread.yield();//让出处理器时间,公平竞争
    查看全部
  • interrupt()--初衷并不是用于停止线程 在调用sleep()或者join()的时候,一旦其他线程调用interrupt(),它将会收到一个异常,这些被阻塞的线程因为某些原因需要被唤醒,比如外部发生了中断而需要响应,这时就采用抛出异常的方式来使其作出响应。总而言之,interrupt()方法并不能正确地停止进程 一个线程在阻塞状态下(例如sleep),此时interrupt的话,将会产生两个结果: 1、进程的interrupt状态被清除(cleard)而非被设置(set)。 2、sleep方法会抛出异常。
    查看全部
  • 隋唐演义三个对象: 军队-ArmyRunnable; 英雄人物-KeyPersonThread; 舞台-Stage
    查看全部

举报

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

微信扫码,参与3人拼团

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

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