我想调用一个线程来执行一些代码然后在完成后死掉,在java中最好的方法是什么?
例如。
public void update_labels() throws Exception{
...
call the thread from here, obviously non blocking
...
}
线程将连接到数据库并获取/返回一些变量,然后终止
我想调用一个线程来执行一些代码然后在完成后死掉,在java中最好的方法是什么?
例如。
public void update_labels() throws Exception{
...
call the thread from here, obviously non blocking
...
}
线程将连接到数据库并获取/返回一些变量,然后终止
有多种方法可以做到这一点。但是,如果您的要求像您说的那么简单,那么简单:
new Thread(new Runnable() {
public void run() {
//your task
}
}).start();
会做。
还有教程
线程在这里为您做什么?我理解显而易见的答案——“连接到数据库并获取/返回一些变量”——但我不清楚这个操作对你来说是异步的。
我还建议您研究比Thread
. 像 concurrency 包中的一些新类Executor
会比 raw 更好Thread
。如果您的问题确实可以受益,请查看那些。如果不是,请不要为了复杂性而承担复杂性。
请参阅此Java 文档。这样你就会知道如何运行一个线程。
以及此链接中的其他参考
或以此为例:
import java.sql.Connection;
import java.sql.SQLException;
public class Runner {
public static void main(String[] args) throws SQLException {
ThreadConnection.init("org.hsqldb.jdbcDriver", "jdbc:hsqldb:test", "sa", "");
Connection connection = ThreadConnection.getConnection();
// main thread's connection
new Thread(new Runnable() {
@Override
public void run() {
try {
Connection connection = ThreadConnection.getConnection();
// this thread's connection
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
java中创建线程有两种方式
Thread
类并覆盖运行方法的类Runnable
并覆盖 run 方法的类。在 run 方法中,将您的业务逻辑连接到数据库并完成其余工作。
然后在您的代码中,您可以创建一个线程并通过调用start
线程类上的方法来执行它。在此处了解有关创建和运行线程的更多信息:http:
//docs.oracle.com/javase/tutorial/essential/concurrency/threads.html