java中的线程

java中的线程,java,android,Java,Android,如果创建一个全局线程,如何实现线程的run()方法 我的意思是,如果我全局创建一个线程,那么我可以在应用程序中的任何地方实现它的run()方法{“public void run()”} 在run()方法中,我必须编写代码来执行某些操作 如果我能做到这一点,那么请任何人简要告诉我如何做到这一点,特别是 我有点困惑 谢谢, david鉴于以下类别: class MyWorker implements Runnable { @Override public void run() { }

如果创建一个全局线程,如何实现线程的run()方法

我的意思是,如果我全局创建一个线程,那么我可以在应用程序中的任何地方实现它的run()方法{“public void run()”}

在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个线程都将终止。