微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行自定义方法作为Thread

如何解决运行自定义方法作为Thread

| 在Java中运行单独的线程,我们必须实现Runnable接口或扩展Thread类,因此实际上只有方法Run()可以用于启动新线程。 在C#中,我们可以使用以下方法调用任何方法以作为新线程运行 新线程(目标函数); 因此实际上,在Java中,我们最终为函数创建了一个单独的类,使其能够作为线程运行。 那么有办法避免这种情况吗? 我想避免架构上的任何更改,并且方法本身不是很冗长,它只有两个循环,这很耗时。     

解决方法

        就我的Java知识而言:运行线程的唯一方法是通过提供的任何方法(例如您命名的方法)调用run()。 但是,您可以只在运行中对您的方法进行调用。这样一来,您就不会对架构进行太多更改。     ,        虽然并不完美,但是您可以使用匿名内部类来包装函数。在单独的线程上执行函数的代码如下所示:
Thread t = new Thread () {
     public void run()
     {
        myMethodHere();
     }

};

t.start();
    ,        在Java中,函数(甚至更好的方法)本身不是对象,因此,您必须创建这样的包装器才能执行所需的操作。
new Thread() {
    public void run() {
        originalMethod();
    }
}.start();
    ,        您可以创建一个使用反射来实现的辅助方法
backgroundMethod(\"methodName\");
要么
backgroundMethod(object,\"methodName\");
除非您经常这样做,否则使用其他人建议的Runnable可能会更好/更清晰。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。