线程安全

来源:互联网 发布:淘宝改标题 编辑:程序博客网 时间:2024/05/24 05:33

*

1.什么是线程安全?*

线程安全就是当多个线程访问某一个类(对象或方法)时,这个对象始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。

2.举例说明

public class MyThread extends Thread{    private int count = 5 ;    //没加锁    public void run(){        count--;        System.out.println(this.currentThread().getName() + " count = "+ count);    }    public static void main(String[] args) {        MyThread myThread = new MyThread();        Thread t1 = new Thread(myThread,"t1");        Thread t2 = new Thread(myThread,"t2");        Thread t3 = new Thread(myThread,"t3");        Thread t4 = new Thread(myThread,"t4");        Thread t5 = new Thread(myThread,"t5");        t1.start();        t2.start();        t3.start();        t4.start();        t5.start();    }}

输出结果

t2 count = 3t3 count = 2t1 count = 3t4 count = 1t5 count = 0

而在run方法上加了synchronized关键字后,输出结果为


t1 count = 4t2 count = 3t3 count = 2t4 count = 1t5 count = 0
1 0
原创粉丝点击