package com.xlkj.tests;class SubRunnable implements Runnable{
public void run() {}
}class SubThread extends Thread{
public void run() {
super.run();
}
}public class TestThread { public static void main(String[] args) {
SubRunnable sb=new SubRunnable();
//使用runnable对象做参数创建线程
Thread t1=new Thread(sb);
Thread t2=new Thread(sb);
//继承thread来创建线程
SubThread t3=new SubThread();
SubThread t4=t3; }
}我认为t1,t2两个线程可以操作同一资源(subrunnable),是不同实例;
t3,t4两个线程也可以操作同一资源,却是单实例;
这两种有什么不同,希望兄弟姐妹给予指教!thx!
public void run() {}
}class SubThread extends Thread{
public void run() {
super.run();
}
}public class TestThread { public static void main(String[] args) {
SubRunnable sb=new SubRunnable();
//使用runnable对象做参数创建线程
Thread t1=new Thread(sb);
Thread t2=new Thread(sb);
//继承thread来创建线程
SubThread t3=new SubThread();
SubThread t4=t3; }
}我认为t1,t2两个线程可以操作同一资源(subrunnable),是不同实例;
t3,t4两个线程也可以操作同一资源,却是单实例;
这两种有什么不同,希望兄弟姐妹给予指教!thx!
Thread t1=new Thread(sb);
Thread t2=new Thread(sb);多线程 ,两个线程都在跑 一个 RUN()方法//继承thread来创建线程
SubThread t3=new SubThread();
SubThread t4=t3;这个只是一个线程
当然,这里说的是 Is A。
用 Has A,也可以达到这个目的。