bear_0X0000
2018-02-02 15:27关于JAVA 多线程 与 反射的问题
20思路就是有一个继承Thread的线程类ProxyThread,这个类接受一个Method对象 ,然后run方法中循环调用它。
测试代码是创建了一个ProxyThread的xianc对象 然后穿了一个fun方法,线程start以后fun之执行一次就结束了。
Threa实现类
package a;
import java.lang.reflect.Method;
public class ProxyThread extends Thread{
private boolean flag;
private Method method;
private Object target;
private Object[]args;
public ProxyThread(boolean flag, Method m, Object target,Object[]args) {
super();
this.flag = flag;
this.method = m;
this.target = target;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
@Override
public void run() {
while(flag) {
try {
method.invoke(target, args);
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
调用代码
package a;
import org.junit.Test;
public class Demo {
@Test
public void test() throws NoSuchMethodException, SecurityException {
ProxyThread thread = new ProxyThread(true,this.getClass().getMethod("fun"),this,null);
thread.start();
}
public void fun() {
System.out.println("=========>");
}
}
思路是传一个Method进去执行
可是fun为什么只执行一次?
- 点赞
- 回答
- 收藏
- 复制链接分享
6条回答
为你推荐
- 关于学习的问题。
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 用java解析HTTP请求报头
- tomcat
- 0个回答
- java词汇解释
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 关于JAVA 多线程 与 反射的问题
- java
- 多线程
- 6个回答
- 基于java ee 的吹泡泡游戏
- 3个回答
换一换