java中的线程
如果创建一个全局线程,如何实现线程的run()方法 我的意思是,如果我全局创建一个线程,那么我可以在应用程序中的任何地方实现它的run()方法{“public void run()”} 在run()方法中,我必须编写代码来执行某些操作 如果我能做到这一点,那么请任何人简要告诉我如何做到这一点,特别是 我有点困惑 谢谢,java中的线程,java,android,Java,Android,如果创建一个全局线程,如何实现线程的run()方法 我的意思是,如果我全局创建一个线程,那么我可以在应用程序中的任何地方实现它的run()方法{“public void run()”} 在run()方法中,我必须编写代码来执行某些操作 如果我能做到这一点,那么请任何人简要告诉我如何做到这一点,特别是 我有点困惑 谢谢, david鉴于以下类别: class MyWorker implements Runnable { @Override public void run() { }
david鉴于以下类别:
class MyWorker implements Runnable {
@Override
public void run() {
}
您可以使用以下各项创建和启动线程:
Thread thread = new Thread(m_worker);
thread.setDaemon(true); // If the thread should not keep the process alive.
thread.setName( "MyThreadName" );
thread.start();
可以将Runnable实现为顶级类、嵌套类或匿名类
多线程编程需要特别注意。Joshua Bloch的“有效Java”第二版在其“并发”一章中介绍了一些问题。这本书值得一读。一个建议是,与原始线程相比,更喜欢执行器和任务。给定以下类:
class MyWorker implements Runnable {
@Override
public void run() {
}
您可以使用以下各项创建和启动线程:
Thread thread = new Thread(m_worker);
thread.setDaemon(true); // If the thread should not keep the process alive.
thread.setName( "MyThreadName" );
thread.start();
可以将Runnable实现为顶级类、嵌套类或匿名类
多线程编程需要特别注意。Joshua Bloch的“有效Java”第二版在其“并发”一章中介绍了一些问题。这本书值得一读。一个建议是优先选择执行器和任务而不是原始线程。线程由线程对象表示。您可以将Thread对象创建为匿名内部类,或者使用自己实现run()的类对Thread进行子类化。这是匿名版本
Thread t = new Thread() {
public void run() {
// Do something on another thread
}
}
下面是子类版本
class MyThread extends Thread() {
public void run() {
// Do something on another thread
}
}
Thread t = new MyThread();
通常,您使用一个匿名类来执行快速而肮脏的操作,如果线程有有效负载(参数、结果等),则创建一个子类
注意,这些代码片段只是声明了线程。要实际运行线程,必须调用start():
就这样。当线程启动时,它调用新线程上的run()。主线程和新线程并行运行
更高级的主题(如线程同步)应该在您完成了基础知识后才能解决。线程由线程对象表示。您可以将Thread对象创建为匿名内部类,或者使用自己实现run()的类对Thread进行子类化。这是匿名版本
Thread t = new Thread() {
public void run() {
// Do something on another thread
}
}
下面是子类版本
class MyThread extends Thread() {
public void run() {
// Do something on another thread
}
}
Thread t = new MyThread();
通常,您使用一个匿名类来执行快速而肮脏的操作,如果线程有有效负载(参数、结果等),则创建一个子类
注意,这些代码片段只是声明了线程。要实际运行线程,必须调用start():
就这样。当线程启动时,它调用新线程上的run()。主线程和新线程并行运行
更高级的主题(如线程同步)应该在您掌握了基本知识后才能解决。您想知道如何在Java中创建线程吗?请具体明确?你的另一条线呢?我假设您已经完成了显而易见的搜索,那么您觉得这些有什么困惑吗?您想知道如何在Java中创建线程吗?请具体明确?你的另一条线呢?我假设您已经完成了明显的搜索,您发现这些有什么混淆吗?在上面的示例中,哪个是主线程和新线程?启动线程(不一定是应用程序主线程)是创建线程对象然后对其调用start()的线程。run()方法中的内容在新线程上执行。因此,如果run()方法表示System.out.println(“hello world”),则该命令将由新线程执行。您可以生成5个线程实例,您将获得5条hello world消息,每个线程1条。当run()完成时,线程将被终止,因此在说hello world之后,所有5个线程都将终止。在上面的示例中,哪个是主线程和新线程?启动线程(不一定是应用程序主线程)是创建线程对象然后对其调用start()的线程。run()方法中的内容在新线程上执行。因此,如果run()方法表示System.out.println(“hello world”),则该命令将由新线程执行。您可以生成5个线程实例,您将获得5条hello world消息,每个线程1条。当run()完成时,线程将终止,因此在说hello world之后,所有5个线程都将终止。