多线程的一些理解

     当我们要用到多线程时,第一个想到的就是Thread,那在java机制中Thread是怎样写到的呢。

   通过查看源码,我们能找到最核心的方法,在Thread中有一个run方法

     public void run(){

     if(target!=null){

         target.run();  

    }

       }

    target是Runnable对象。

所以执行Thread有两种方法:1.重写Thread 的run方法。

              2.当target不等于null,即有Runnable,那么就执行Runnable的run方法。

1.Thread thread = new Thread(){重写run方法}

  thread.start();

2. new Thread(new Runnable{

            public void run(){

    }

    }).start();

定时器

  

        new Timer().schedule(new TimerTask() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                
            }
        }, 0, 1000);//每隔一秒执行一次run方法

线程中我们经常用到同步

  这就要我们实现其原子性

  即用同一把锁,锁住代码,也可以锁住同一个类

最好的处理是把要同步的方法放入到一个业务类中同一管理

   synchronized (obj) {
   while(boolean){
    obj.wait(timeout);
   }
  }

原文地址:https://www.cnblogs.com/zyandroid/p/3167573.html