您的位置:

java线程创建底层流程(linux底层是怎么创建线程的)

本文目录一览:

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使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:

1)继承Thread类创建线程

2)实现Runnable接口创建线程

3)使用Callable和Future创建线程

如何创建并运行java线程

Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:

◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法;

◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。

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”。