run()方法中的递归函数?

nfc*_*-uk 1 java recursion multithreading

我想在线程runnable run()方法中放置一个递归函数 - 这是一个示例片段..

yt[c] = new Thread (
   new Runnable() {
    public void run() {
    /* recursive function here */
    }
    }
 );
Run Code Online (Sandbox Code Playgroud)

他们是否可以在run()方法中实现这一点?有效地在方法中嵌入方法(我假设递归函数必须作为方法实现)?

作为一个简单的例子说我将如何实现n!在run()方法中(递归不迭代)?我很困惑.

非常感谢.

Roh*_*ain 6

有效地在方法中嵌入方法

好吧,你不会将方法嵌入run方法本身.而只是添加另外一个方法run并调用它: -

new Thread (
   new Runnable() {
        public void run() {
           /* recursive function here */
           fact(10);
        }

        private void fact(int n) {
            // logic
        }
    }
 );
Run Code Online (Sandbox Code Playgroud)

因为new Runnable() { },你只是创建一个实现Runnable接口的匿名类,所以,没有人阻止你添加自己的额外方法.也许你也可以制作它private,因为你不会从外面使用它.