私もこの問題を抱えていましたが、この問題を解決する最善の方法は、すべてのコードを新しいスレッドに転送することであることがわかりました。
public class Class implements Runnable {
@Override
public void run() {
...
}
}
メインクラスでこれを行います:
public class Main {
public static void main(String[] args) {
Thread th = new Thread(null, new Class(), "solution", 32 << 20);
th.start();
}
}
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
最初のパラメータはnull、2番目のパラメータはこのスレッドで実行したいクラス、3番目のパラメータはあまり重要ではない名前、最後のパラメータはこのスレッドに割り当てたいスタックサイズです。例のスタック サイズは 2^32 バイトです (よくわかりません!)
Thread
Javaの詳細については、 https ://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html を参照してください。
これらの例は Java です。他のオブジェクト指向言語でも同じことができます。