java里的关于多线程建立一个线程,建立一个对象,在线程类里面把对象做参数。

2025-03-13 01:59:22
推荐回答(1个)
回答1:


这要看你这两个线程使用是不是同一个对象,我写个例子,你仔细看一下

public class Test {

class MyThreads implements Runnable{
private int flag = 0;
public MyThreads(){
}

@Override
public void run() {
System.out.println("flag = " + (++flag));
}
}

public Test(){
System.out.println("两条线程同用一个对象");
MyThreads myThread = new MyThreads();
new Thread(myThread).start();
new Thread(myThread).start();
}

public Test(int i){
System.out.println("两条线程使用不同对象");
MyThreads myThread = new MyThreads();
new Thread(myThread).start();
MyThreads myThread2 = new MyThreads();
new Thread(myThread2).start();
}

public static void main(String[] args) {
Test t = new Test();
try {
//线程输出太快,先暂停一会
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Test t2 = new Test(1);
}
}