java 一直跑线程怎么写
时间: 2023-07-03 08:11:52 浏览: 190
在 Java 中,我们可以通过实现 Runnable 接口或继承 Thread 类来创建线程。以下是使用 Thread 类创建线程并让它一直运行的示例代码:
```java
public class MyThread extends Thread {
@Override
public void run() {
while (true) {
// 在这里编写你的线程代码
}
}
}
// 在主函数中启动线程
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
```
在上面的代码中,我们创建了一个名为 MyThread 的类,继承了 Thread 类,并重写了 run() 方法。在 run() 方法中,我们使用 while(true) 循环来一直运行线程。你可以在 while 循环内编写你的线程代码。在主函数中,我们创建了一个 MyThread 对象,并调用 start() 方法来启动线程。
请注意,无限循环会一直占用 CPU 资源,因此请确保你的线程代码不会一直占用 CPU,否则会导致系统变慢或崩溃。
相关问题
我有个java线程一直在跑,但是当系统出现java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.异常时候,就会导致线程停止了,如何通过try catch解决
你可以在线程中使用try-catch块来捕获异常并进行处理,例如:
```java
public class MyThread extends Thread {
@Override
public void run() {
try {
// 在这里执行你的线程任务
} catch (java.sql.SQLTransientConnectionException e) {
// 如果出现连接异常,则进行处理
e.printStackTrace();
// 重新启动线程
this.start();
}
}
}
```
在这个例子中,当线程遇到`java.sql.SQLTransientConnectionException`异常时,会捕获这个异常并打印出错误信息,然后重新启动线程。这样,即使出现异常,线程也不会停止,而是会继续执行。
Java龟兔赛跑多线程
在Java中实现“龟兔赛跑”的多线程场景通常是为了演示线程并发和同步的概念。这是一个经典的寓言故事,可以转化为两个线程:兔子代表快速运行的线程,乌龟代表慢速运行的线程。下面是一个简单的示例:
```java
class Rabbit extends Thread {
@Override
public void run() {
System.out.println("兔子开始睡觉...");
try {
sleep(5000); // 兔子睡5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("兔子醒来并跑步...");
}
}
class Turtle extends Thread {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) { // 乌龟一直跑
System.out.println("乌龟正在慢慢爬...");
}
System.out.println("乌龟到达终点");
}
}
public class TortoiseAndHareRace {
public static void main(String[] args) {
Rabbit rabbit = new Rabbit();
Turtle turtle = new Turtle();
rabbit.start(); // 兔子先启动
turtle.start(); // 然后乌龟启动
// 如果你想让兔子中途停下来休息,可以加入以下代码(中断线程)
// rabbit.interrupt();
}
}
```
在这个例子中,兔子线程会先睡眠一段时间,然后继续跑步,而乌龟线程则是持续不断地爬行。通过`sleep()`函数,我们可以模拟它们的速度差异。如果需要中断兔子线程(比如让它中途放弃),可以在适当位置调用`interrupt()`方法。
阅读全文