gpt4 book ai didi

java - 通过run方法和Start方法执行Thread

转载 作者:行者123 更新时间:2023-11-29 05:06:12 25 4
gpt4 key购买 nike

我正在尝试使用 thread.Run 以及 thread.start 将 Thread 执行到 Both 方法中

是这样的主类

Thread thread = new GetTimeZones();
ByImletingInterface thread21 = new ByImletingInterface();
thread21.getMailStarttime(5);

ByImletingInterface thread2 = new ByImletingInterface();
thread2.getMailStarttime(10);

thread.start();
new Thread(thread21).start();
new Thread(thread2).start();

线程 1

public class ByImletingInterface implements Runnable {
private int starttime;

@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(starttime * 1000);
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
}
System.out.println("Checking Mail");
}

}

和其他人

public class GetTimeZones extends Thread {

@SuppressWarnings("static-access")
@Override
public void run() {
// TODO Auto-generated method stub
Locale locale;
DateFormat timeforMatter;
DateFormat dateforMatter;
String timeoutput = null;
String dateoutput = null;

try {
java.util.Date date;

for (int i = 0; i < 20; i++) {
date = new Date();
locale = new Locale("en");

timeforMatter = DateFormat.getTimeInstance(DateFormat.DEFAULT,
locale);
dateforMatter = DateFormat.getDateInstance(DateFormat.DEFAULT,
locale);

//System.out.println(timeforMatter);
timeoutput = timeforMatter.format(date);
dateoutput = dateforMatter.format(date);

System.out.println(timeoutput);
System.out.println(dateoutput);
System.out.println();


try {
Thread.sleep(2000);
} catch (Exception e) {
// TODO: handle exception
}
}

} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
e.printStackTrace();
}

super.run();
}
}

如何描述我的概率这两个类都不是必需的,但我仍然提供它。

当我像以前一样在主类中使用 therad.start 时。它有意识地执行三个线程。

但是当我使用 theread.run 一个一个地执行时。意味着它的同步。为什么会这样?

最佳答案

当你调用 run() 方法时,你是在当前线程上运行它,所以它当然会一个接一个地运行,因为只有一个线程(每个 run () 方法将在前一个完成后执行)。

只有当您调用 start() 时,才会创建一个新线程,并在该新线程中执行 run() 方法。

关于java - 通过run方法和Start方法执行Thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com