多线程的一些理解

 

     当我们要用到多线程时,第一个想到的就是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值