永发信息网

关于JAVA创建实现Runnable的创建新线程的基本概念问题!谢谢!

答案:2  悬赏:30  手机版
解决时间 2021-01-08 21:05
关于JAVA创建实现Runnable的创建新线程的基本概念问题!谢谢!
最佳答案
你大概是要做类似委托的功能吧?
可以用反射完成,我写了一个简易例子,你自己看看是否要完成的是这个功能
很多判断没有添加,你自己完善

public class ThreadMethod implements Runnable{
    public static void main(String[] args) {
        MyTest m= new MyTest();
        new Thread(new ThreadMethod(m,"test")).start();
        new Thread(new ThreadMethod(m,"test",new Object[]{"方法"})).start();
    }
    @Override
    public void run() {
         try {
            //调用某个类的某个方法
            method.invoke(o, args);
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }
    //持有要调用对象的实例
    private Object o;
    //持有要调用对象的方法
    private Method method;
    //次优要调用对象的方法形参
    private Object[] args;
    public ThreadMethod(Object o, Method method, Object[] args) {
        super();
        this.o = o;
        this.method = method;
        this.args = args;
    }
    public ThreadMethod(Object o, String methodName) {
        this(o,methodName,null);
    }
    
    public ThreadMethod(Object o, String methodName, Object[] args) {
        Class[] c=null;
        if(args!=null){
            c=new Class[args.length];
            for (int i = 0; i < c.length; i++) {
                c[i]=args[i].getClass();
            }
        }
        this.o = o;
        try {
            this.method = o.getClass().getMethod(methodName, c);
        } catch (Exception e) {
            e.printStackTrace();
        }
        this.args = args;
    }
}
class MyTest{
     public void test(){
         System.out.println("这是测试");
     }
     public void test(String name){
         System.out.println("这个是测试:"+name);
     }
}
全部回答
不创建子类那就用匿名类创建
main(){
new Thread(new Runnable(){//第一个线程
public void run(){
try{.... }
}catch(InterrupedException e){}
}).start();

new Thread(new Runnable(){//第二个线程
public void run(){
try{.... }
}catch(InterrupedException e){}
}).start();
}追问哦那我没说清楚,不建立新的类追答我有点蒙了,你的意思是只要创建Thread类型类,而不创建Runnble类型类吗???
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
系统之家里的win7系统怎么样?好吗?
怎么在PPT里面插入10度的角
昨天根据百度地图去新建县望城镇敬老院结果发
我觉得拉屎很舒服。
家里养金鱼与风水的关系
看我的清代小酒杯值多少钱
求音乐:京剧报灯名
2010年12月12日闭幕的中央经济工作会议提出:
鄂州有没有会安净水器的专业人员
(贫困生补助申请书)怎么写?
枕头上有口水两个月不用会长虫么
在床上要怎么满足老公?
澳洲留学知多少,澳洲卧龙岗大学的学分中国承
单选题具有相同电子层数的A、B、C三种元素,
5+5+5+5-3可以用哪两个乘法算试
推荐资讯
通气搅拌发酵罐基本结构包括哪些
华晨中华V现在多少钱
孙权年纪比周瑜大吗?
苹果手机怎么购买欢乐豆
下列各句中加点的成语,使用不恰当的一句是A.
he request food was sent to them 有什么错
黑暗之魂3DLC2誓约道具怎么得 掉落方式介绍
派派答题有挂吗?
老年人打吊针后脚脖红肿怎么办
电器长时间不用时,电池不取下会造成什么后果
剑网三桂花和藕有什么作用
地基用白灰混着土,打夯。下雨让水泡了,地基还
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?