zoukankan      html  css  js  c++  java
  • java_day15_线程,匿名内部类,线程安全

    线程

    一,单例模式

      public class Single {

        private static Single ourInstance = new Single();

        //构造方法私有,Single对象只能被new一次

        public static Single getInstance() {

          return ourInstance

        }

        private Single() {
        }

      }

    二,线程

      1,线程是为了让计算机在同一时间做不同的事,本质是cpu等资源在不断的切换线程的执行

      2,启动线程使用线程对象的start方法

      3,创建线程的方式一:子类继承覆写方法方式

        public class ThreadA extends Thread {

          @Override

          public void run(){

          需要执行的代码块

          }

        }

      4,创建线程的第二种方式:Runnable接口的实现类通过Thread的构造方法传入线程

        Runnable的实现类:

          public class RunnableC inmplements Runnable {

            @Override

            public void run() {

            需要执行的代码块

            }

          }

        Thread通过构造方法传入实现类

          RunnableC runnableC = new RunnableC( ); 

          Thread c = new Thread (runnableC)

          c.start( );

    三,线程的变种形式

      1,匿名对象:直接new出对象,而不给这个对象变量名,只有一次调用这个方法的机会

        new ThreadA().start();

        

      2,匿名内部类:没有类名,在构造方法的小括号后加上{},那么这个{}就代表一个类,这样在{}中就可覆写父类Thread的方法,例 Thread(){};  {}相当于继承了父类Thread的子类

        Thread a = new Thread(){  

          @Override

          public void run(){

          需要执行的代码块

          }

        };  //父类引用指向子类对象

        a.start();

     

        new Thread(new Runnable(){

          @Override

          public void run(){

          代码块

          }

     

        }).start();

    四,线程安全问题

      1,Thread.currentThread().getName();显示哪个线程执行了次代码

      2,线程锁:关键字synchronized确保同一时间由一个线程访问该代码块

        private final Object lock = new Object();//创建锁,可以是任意类型,但是要加关键字final

        public  fun(){

          synchronized(lock){

          需要上锁的代码块

          }

        }

    五,脏读

     

     

     

  • 相关阅读:
    Ubuntu上VNC 配置
    Ubuntu远程桌面xrdp方法
    sudo 免密码
    Ubuntu 12.04 root默认密码? 如何使用root登录?
    DNS 和 IPv6 配置攻略
    计算机专业学习浅谈
    [图像]张正友论文翻译(2)
    [图像]张正友论文翻译(1)
    [图像]用Matlab在图像上画矩形框
    word如何修改尾注
  • 原文地址:https://www.cnblogs.com/memo-song/p/8869767.html
Copyright © 2011-2022 走看看