我有一个查询,就是我在多个线程下面开发了一个代码,这些线程分别称为线程一和线程二,下面是代码..
类multip实现Runnable {
public void run() {
for (int i = 0; i < 20; i++) {
try {
Thread.sleep(500);
System.out.println(Thread.currentThread().getName());
System.out.println("i");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class MultiThread3 {
public static void main(String... a) {
multip obj = new multip();
Thread t1 = new Thread(obj);
t1.currentThread().setName("one");
t1.start();
Thread t2 = new Thread(obj);
t2.currentThread().setName("two");
t2.start();
}
}
现在,我希望将线程2设置为守护程序线程,它应该为线程1提供某种服务,它可以是任何类型的服务,但最后我试图实现的是,守护程序线程向非守护程序线程提供某种服务。请告知如何实现。问题是有关守护程序线程将如何向非守护程序线程提供服务的问题。
问题是关于守护程序线程将如何向非守护程序线程提供服务
我会使用执行程序服务。如果要从守护线程返回值,可以使用a Callable<ReturnType>
而不是a Runnable
。
// creating a thread pool.
ExecutorService service = Executors.newSingleThreadExecutor(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
// creating a thread.
Thread two = new Thread(r, "two");
// making it a daemon thread.
two.setDaemon(true);
return two;
}
});
for(int i=0;i<10;i++)
// creating a task and submitting it.
service.submit(new Runnable() {
@Override
public void run() {
System.out.println("["+Thread.currentThread().getName()+"] - Hello World.");
Thread.yield();
}
});
service.shutdown();
版画
[two] - Hello World.
[two] - Hello World.
[two] - Hello World.
首先,它创建一个带有工作队列的线程池。线程池具有创建线程的因素,在这种情况下,线程池具有给定名称的守护程序。
其次,存在一个循环,该循环将10个任务添加到队列中以便执行程序线程执行。
最后,它在完成服务后就停止了该服务(这很少需要)
问题内容: 我正在做Java试卷,并且遇到了以下使我感到困惑的问题。 以下哪项是正确的?(选择所有适用项。) 答:当应用程序开始运行时,会有一个守护线程,其任务是执行main()。 B.当一个应用程序开始运行时,有一个非守护进程线程,其工作是执行main()。 C.由守护程序线程创建的线程最初也是守护程序线程。 D.由非守护程序线程创建的线程最初也是非守护程序线程。 关键答案是B,C,D,谁能告诉
本文向大家介绍python实现守护进程、守护线程、守护非守护并行,包括了python实现守护进程、守护线程、守护非守护并行的使用技巧和注意事项,需要的朋友参考一下 守护进程 1、守护子进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allow
本文向大家介绍浅谈java的守护线程与非守护线程,包括了浅谈java的守护线程与非守护线程的使用技巧和注意事项,需要的朋友参考一下 最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) ,(PS:以前忽略了)。 估计学过Unix开发但是没有细致学习Java的同学们会
本文向大家介绍【java 多线程】守护线程与非守护线程的详解,包括了【java 多线程】守护线程与非守护线程的详解的使用技巧和注意事项,需要的朋友参考一下 Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程。 守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需
问题内容: 在Python文档中 它说: 线程可以标记为“守护程序线程”。该标志的重要性在于,仅保留守护程序线程时,整个Python程序都会退出。初始值是从创建线程继承的。 没有人对这意味着什么有更清楚的解释,或者有实际的示例显示了将线程设置为的位置? 为我澄清一下:因此,您唯一不希望将线程设置为的情况是,您希望它们在主线程退出后继续运行吗? 问题答案: 一些线程执行后台任务,例如发送keepal
主要内容:1 什么是Java 守护线程,2 Java 守护线程的要点,3 Thread类的守护线程方法,3 Java 守护线程的例子1 什么是Java 守护线程 Java中的守护程序线程是一个服务提供者线程,向用户线程提供服务。它的寿命受到用户线程的控制,即当所有用户线程死亡时,JVM会自动终止该线程。 有许多自动运行的Java守护程序线程,例如gc,finalizer等。 您可以通过在cmd命令提示符下键入来查看所有详细信息。jconsole工具提供有关已加载类,内存使用情况,正在运行的线程等