什么是线程安全

如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。


java里不能直接使用synchronized声明一个变量,而是使用synchronized去修饰一个代码块或一个方法。

一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

public class Thread1 implements Runnable {
     public void run() {
          synchronized(this) {
               for (int i = 0; i < 5; i++) {
                    System.out.println(Thread.currentThread().getName() + " synchronized loop " + i);

猜你喜欢

转载自cuityang.iteye.com/blog/2380820