在Java当中有两种线程,一种是
User Thread
,另一种是Daemon Thread
。一般来说User Thread
具有较高的优先级,它主要运行在前台,然而,Daemon Thread
具有较低的优先级,主要运行在后台。
User Thread
User Thread通常由应用或者用户创建的,JVM Instance等待所有的User Thread执行完成Tasks,直到所有的User Thread执行完成JVM才会退出。
Daemon Thread
Daemon Thread通常由JVM创建, 这些线程在后台运行,运行一些后台任务(包括,垃圾回收、内务任务等)。JVM 不会等待所有的Daemon Thrad执行完Tasks,只要所有的User Thread执行完Tasks,JVM就会退出。