「java单独起一个线程」java另起一个线程

博主:adminadmin 2023-03-21 19:16:07 514

今天给各位分享java单独起一个线程的知识,其中也会对java另起一个线程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java awt的事件响应和线程的问题:当事件响应被促发后是不是会单独产生一个线程

不会单独产生一个线程,通常系统层面实现的就是一个主线程(UI线程)和一个消息队列,该主线程读取消息队列,并将相应的消息派发给相应的Listener对象,并执行该对象的方法。

比如OnClickListener接口是一个协议,即:只要你写的类满足该接口的定义,那么就可以被系统调用;当点击后,系统的底层会产生一个事件对象,该事件对象被派发给你已经写好的动作类的对象,即实现了OnClickListener接口的动作对象。

Java开发如何创建一个线程?

(1)通过扩展Thread类来创建多线程

public static void main(String [] args){

        MutliThread m1=new MutliThread("Window 1");

        MutliThread m2=new MutliThread("Window 2");

        MutliThread m3=new MutliThread("Window 3");

        m1.start();

        m2.start();

        m3.start();

    }

}

class MutliThread extends Thread{

    private int ticket=100;//每个线程都拥有100张票

    MutliThread(String name){

        super(name);//调用父类带参数的构造方法

    }

    public void run(){

        while(ticket0){

            System.out.println(ticket--+" is saled by "+Thread.currentThread().getName());

        }

    }

}

(2)通过实现Runnable接口来创建多线程

 public static void main(String [] args){

        MutliThread m1=new MutliThread("Window 1");

        MutliThread m2=new MutliThread("Window 2");

        MutliThread m3=new MutliThread("Window 3");

        Thread t1=new Thread(m1);

        Thread t2=new Thread(m2);

        Thread t3=new Thread(m3);

        t1.start();

        t2.start();

        t3.start();

    }

}

class MutliThread implements Runnable{

    private int ticket=100;//每个线程都拥有100张票

    private String name;

    MutliThread(String name){

        this.name=name;

    }

    public void run(){

        while(ticket0){

            System.out.println(ticket--+" is saled by "+name);

        }

    }

}

java新起一个线程可以获取数据吗

java新起一个线程可以获取数据。java子线程中获取父线程的threadLocal中的值threadLocal可以做线程级的数据隔离,通过网络协议进行数据交换。

java怎么创建一个线程

Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。 可以用如下方式用java中创建一个线程:

Tread thread = new Thread();

执行该线程可以调用该线程的start()方法:

thread.start();

编写线程运行时执行的代码有两种方式:一种是创建Thread子类的一个实例并重写run方法,第二种是创建类的时候实现Runnable接口。接下来我们会具体讲解这两种方法:

创建Thread的子类

创建Thread子类的一个实例并重写run方法,run方法会在调用start()方法之后被执行。例子如下:

public class MyThread extends Thread {

   public void run(){

     System.out.println("MyThread running");

   }

}

可以用如下方式创建并运行上述Thread子类

MyThread myThread = new MyThread();

myTread.start();

一旦线程启动后start方法就会立即返回,而不会等待到run方法执行完毕才返回。就好像run方法是在另外一个cpu上执行一样。当run方法执行后,将会打印出字符串MyThread running。

实现Runnable接口

第二种编写线程执行代码的方式是新建一个实现了java.lang.Runnable接口的类的实例,实例中的方法可以被线程调用。下面给出例子:

public class MyRunnable implements Runnable {

   public void run(){

    System.out.println("MyRunnable running");

   }

}

为了使线程能够执行run()方法,需要在Thread类的构造函数中传入 MyRunnable的实例对象。示例如下:

Thread thread = new Thread(new MyRunnable());

thread.start();

当线程运行时,它将会调用实现了Runnable接口的run方法。上例中将会打印出”MyRunnable running”。

关于java单独起一个线程和java另起一个线程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。