线程同步小结(1)
?? ? ? ? ? ?本文小结关于synchronized线程同步机制的学习。首先需要了解什么是同步和异步,继承Thread类与实现Runnable接口的区别。
(一)简单的理解一下同步和异步:
?? ? ? ? 同步就是指一个线程要等待上一个线程执行完之后才开始执行当前的线程,
?? ? ? ? 异步是指一个线程去执行,它的下一个线程不必等待它执行完就开始执行。
(二)继承Thread类与实现Runnable接口的区别:
?? ? ? 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;他们都是在java.lang包中定义的。
?? ? ? 先看一个继承Thread类的例子:
?? ? ? ? ??public class Data {
?
?? ? ? ? ? ?这是继承Thread类实现的多线程,运行结果是:
}
?的结果是:
?? ? ?此时结果很有规律,先第一个对象执行,然后第二个对象执行,并没有相互运行。在JDK的文档中可以发现,一旦调用start()方法,则会通过JVM找到run()方法。
?