Java 如何控制守护进程线程?

Java 如何控制守护进程线程?,java,multithreading,Java,Multithreading,我正在编写一个Java应用程序,其中我正在编写一个线程程序来读取文件。每次程序运行时,它都会创建一个线程并读取文件。它很耗时,我知道文件永远不会更改,所以我想创建一个守护进程线程,它只读取文件一次并将其存储在字符串中 我面临着几个问题- 1) 启动守护进程线程后,如何再次访问它? 2) 如果我想停止守护进程线程,我该怎么做 请帮忙 谢谢,我想,您的守护进程将位于不同的虚拟机中,在这种情况下,您无法从应用程序访问字符串 我认为您对守护进程线程的工作方式感到困惑。守护进程线程不会阻止应用程序退出,如

我正在编写一个Java应用程序,其中我正在编写一个线程程序来读取文件。每次程序运行时,它都会创建一个线程并读取文件。它很耗时,我知道文件永远不会更改,所以我想创建一个守护进程线程,它只读取文件一次并将其存储在字符串中

我面临着几个问题- 1) 启动守护进程线程后,如何再次访问它? 2) 如果我想停止守护进程线程,我该怎么做

请帮忙


谢谢,

我想,您的守护进程将位于不同的虚拟机中,在这种情况下,您无法从应用程序访问字符串

我认为您对守护进程线程的工作方式感到困惑。守护进程线程不会阻止应用程序退出,如果它是唯一正在运行的线程;用户线程可以。如果您知道文件永远不会更改,为什么不在不使用任何线程的情况下加载它一次呢?此外,在守护进程线程完成文件加载后(即run()方法正常完成),它将由运行时自动处理,除非run()方法中有无限循环。我在这里发布一点代码将有助于找到原因。

如果您想访问线程,只需保留对线程对象的引用即可。同样,如果要访问字符串,请保留对字符串对象的引用。这些引用可以存储为静态变量,但不一定是静态变量


不推荐通过thread.stop()或thread.suspend()直接停止线程。请参阅,以了解原因说明以及停止线程的“正确”方法。

我阅读该问题的意思是,他在单独的线程中加载文件,因为文件很大,他不希望在加载文件时主线程被阻塞。