以下两种方式创建线程对象有什么区别?

创建了一个线程类EvoThread,通过以下两种方式启动线程有什么区别吗?
方式1:
EvoThread et1 = new EvoThread();
EvoThread et2 = new EvoThread();
new Thread(et1, "线程1").start();
new Thread(et2, "线程2").start();

方式2:
EvoThread et = new EvoThread();
new Thread(et, "线程1").start();
new Thread(et, "线程2").start();

方式1是创建了两个线程对象,两个线程分别对两个对象操作;方式2是两个线程对同一个对象的操作,可以这么理解吗?在效果上有什么区别吗?

可以这样理解,区别是,同步的要求不一样,第一种因为是不同对象,如果同步的话锁需要加在类上(synchronized需修饰静态对象)。第二种同步的话锁可以加在对象上(synchronized修饰this)