1、可重入内置锁,synchronized代码块或者方法,对象属性有:计数值和拥有者线程,可重入锁,比如可以防止调用父类同步方法时,回不来导致死锁。http://blog.csdn.net/ns_code/article/details/17014135
2、继承Thread类和实现Runnable接口实现线程,1、继承Thread类只能是单继承,2、Runnable接口可以更容易的实现多线程共享数据,即一个Runnable对象就可以在多个线程执行,实现一个对象的数据共享,继承Thread类则不行,因为有多个Thread子类对象,不能共享数据。