多线程

------- android培训java培训、期待与您交流! ----------

建立线程的两种方式

1:继承Thread类覆盖run方法

class A extends Thread

{

    public void run()

       {

 

}

}

 

Thread t1 = new A();

Thread t2 = new A();

t1.start();

t2.start();

 

2:实现Runnable接口,覆盖run方法

class A implements Runnable

{

       publicvoid run()

       {

 

}

}

A a  =  New  A();

Thread t1 = new Thread(a);

Thread t2 = new Thread(a);

t1.start();

t2.start();

 

线程安全

当多个线程使用到了共享的数据时可能导致一个线程运行到一半执行权被抢走,导致结果不正确,这时候就需要将共享的数据线程同步,当一个线程执行完后另一个线程才能执行。需要用到同步代码块:

synchronized(对象)//对象可以使人以对象,但当共享数据不在一个地方时,使用的对象必须是同一个

{

       需要被同步的代码

 

}

 

当一个方法的所有内容都是需要同步的,可以再方法上使用synchronized关键字

public synchronized void xxx(){}这时候使用的锁是this

------- android培训java培训、期待与您交流! ----------  详细请查看: http://edu.csdn.net/heima/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值