ffw5b7
V2EX  ›  Java

Lambda 表达式()->一点疑惑

  •  
  •   ffw5b7 · Jun 9, 2022 · 1798 views
    This topic created in 1504 days ago, the information mentioned may be changed or developed.

    threadPoolExecutor.execute(new XxxThread(parm1,parm2,parm3,parm4)); 会执行线程内 run 方法

    threadPoolExecutor.execute(()->new XxxThread(parm1,parm2,parm3,parm4)); 不会执行线程内 run 方法

    ()空圆括号代表参数集为空,所以构造失败?

    senninha
        1
    senninha  
       Jun 9, 2022   ❤️ 1
    后者的代码意思是,构造一个 Runnable 的匿名内部子类,run 方法内执行
    `new XxxThread(parm1,parm2,parm3,parm4)`
    这行代码,肯定不会跑 XxxThread 的 run 方法。。。
    aguesuka
        2
    aguesuka  
       Jun 9, 2022   ❤️ 1
    threadPoolExecutor.execute(()->new XxxThread(parm1,parm2,parm3,parm4));

    等价于

    threadPoolExecutor.execute(new Runable(){
    public void run(){
    new XxxThread(parm1,parm2,parm3,parm4);
    }
    });

    当然不会执行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3088 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 00:21 · PVG 08:21 · LAX 17:21 · JFK 20:21
    ♥ Do have faith in what you're doing.