加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 直接调用run方法是不好的做法

发布时间:2020-12-15 05:03:20 所属栏目:Java 来源:网络整理
导读:大多数情况下,我想在一个新线程中运行一段代码,它会耗费一些时间,但在某些情况下我想用调用方法的线程来运行它.直接调用run方法是不好的做法吗? 如果不是一个好主意,最好将代码放在另一个可以被新线程调用或复制代码的方法中吗? 这是一些示例代码,它只是为
大多数情况下,我想在一个新线程中运行一段代码,它会耗费一些时间,但在某些情况下我想用调用方法的线程来运行它.直接调用run方法是不好的做法吗?

如果不是一个好主意,最好将代码放在另一个可以被新线程调用或复制代码的方法中吗?

这是一些示例代码,它只是为了说明我想要实现的目标:

class Main {
    public Main() {
        new Thread(new WorkerThread(1,2)).start(); // This is what I'd do if I wanted it to run in a new thread.
        new WorkerThread(1,2).run(); // Is it bad practice to do this?
    }
}

class WorkerThread implements Runnable {
    private int int1,int2;

    public WorkerThread(int int1,int int2) {
        this.int1 = int1;
        this.int2 = int2;
    }

    public void run() {
        // Do something time consuming with the ints.
    }
}

解决方法

我知道已经有很多其他的答案,但你的问题是关于“练习”,而且这个词并没有出现在任何一个中.

好的做法是编写易于其他人理解的代码,并且最好在没有任何内联注释的情况下易于理解.

调用foobar.run()没有任何问题,只要“run”的含义对于阅读程序的人来说是显而易见的.

您的类名为WorkerThread,即使它不是一个线程.这可能会让人感到困惑.并且调用workerThread.run()可能会更混淆它们是否涉及一个线程.

我会说,如果有意义的话,继续调用run()方法,但是改变类,以便读者知道你没有尝试启动一个线程并以错误的方式执行它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读