|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- public class Demo4 {
- public static void main(String[] args) throws InterruptedException {
- MyThread1 myThread1 = new MyThread1("xxx");
- DaemonThread daemonThread = new DaemonThread("daemon");
- daemonThread.setDaemon(true);
- myThread1.start();
- daemonThread.start();
- }
- }
- class MyThread1 extends Thread{
- public MyThread1(String name) {
- super(name);
- }
- public MyThread1() {
- }
- @Override
- public void run() {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- for (int i = 0; i < 10; i++) {
- System.out.println(getName() + ", " + i);
- }
- }
- }
- class MyThread2 extends Thread{
- @Override
- public void run() {
- }
- }
- class DaemonThread extends Thread{
- public DaemonThread() {
- super();
- }
- public DaemonThread(String name) {
- super(name);
- }
- @Override
- public void run() {
- for (int i = 0; i < 20; i++) {
- System.out.println(getName() + ", " + i);
- }
- }
- }
复制代码
"C:\Program Files\Java\jdk-19\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.2\lib\idea_rt.jar=50811:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\lenovo\Desktop\鹭\Java\javase\多线程\out\production\code Demo4
daemon, 0
daemon, 1
daemon, 2
daemon, 3
daemon, 4
daemon, 5
daemon, 6
daemon, 7
daemon, 8
daemon, 9
daemon, 10
daemon, 11
daemon, 12
daemon, 13
daemon, 14
daemon, 15
daemon, 16
daemon, 17
daemon, 18
daemon, 19
xxx, 0
xxx, 1
xxx, 2
xxx, 3
xxx, 4
xxx, 5
xxx, 6
xxx, 7
xxx, 8
xxx, 9
Process finished with exit code 0
这段代码的输出结果并不是最后执行的,而是程序正常结束并输出信息后才停止的。即便没有设置 `sleep`,也无法保证该代码是最后执行的,因为这取决于操作系统的调度和多线程并发执行的具体情况。
|
|