为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中使用单独的线程调用方法?

如何在Java中使用单独的线程调用方法?

慕桂英3389331 2019-11-25 15:20:47
假设我有一个方法doWork()。我如何从单独的线程(不是主线程)中调用它。
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

Thread t1 = new Thread(new Runnable() {

    @Override

    public void run() {

        // code goes here.

    }

});  

t1.start();

要么


new Thread(new Runnable() {

     @Override

     public void run() {

          // code goes here.

     }

}).start();

要么


new Thread(() -> {

    // code goes here.

}).start();

要么


Executors.newSingleThreadExecutor().execute(new Runnable() {

    @Override

    public void run() {

        myCustomMethod();

    }

});

要么


Executors.newCachedThreadPool().execute(new Runnable() {

    @Override

    public void run() {

        myCustomMethod();

    }

});


查看完整回答
反对 回复 2019-11-25
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

在Java 8中,您可以使用一行代码来完成此操作。


如果您的方法不带任何参数,则可以使用方法参考:


new Thread(MyClass::doWork).start();

否则,您可以在lambda表达式中调用该方法:


new Thread(() -> doWork(someParam)).start();


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 986 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信