当进程启动时，有“用户线程”（也叫“非守护线程”）时则不会退出，没有则会退出。

* 一般 web 项目，会启动 http-server （内部就有“用户线程”）

当没有“用户线程”，又不想退出。可使用：`SolonApp:block()` 方法。


### 1、如果没有引用带 web 通讯的包

一般非 web 开发，我们使用 [solon-lib](/article/821) “快捷组合包”比较好

```java
import org.noear.solon.Solon;

public class DemoApp{
    public static void main(String[] args){
        //启动后，调用阻塞函数
        Solon.start(DemoApp.class, args).block();
    }
}
```

### 2、如果引用了带 web 通讯的包

比如引入了 [solon-web](/article/822) 或 solon-server-xxx 的包。但是，又禁掉了 http

```java
import org.noear.solon.Solon;

public class DemoApp{
    public static void main(String[] args){
        Solon.start(DemoApp.class, args, app->{
            //禁掉 http
            app.enableHttp(false);
        }).block(); //启动后，调用阻塞函数
    }
}
```