美文网首页
创建线程和启动线程

创建线程和启动线程

作者: 藏于心Z | 来源:发表于2018-08-26 22:21 被阅读0次

创建和启动线程,传统有两种方式:
方式1、继承Thread类;
方式2、实现Runnable接口;

线程类(java.lang.Thread):Thread类和Thread的子类才能称之为线程类,阅读API。别忘了主线程(main)方法运行,表示主线程。

方式1:继承Thread类

——————---————————
步骤:
1):定义一个类A继承与java.lang.Thread类。
2):在A类中覆盖Thread类中的run方法。
3):我们在run方法中编写需要执行的操作 >>>run方法里,线程执行体
4):在main方法(线程)中,创建线程对象,并启动线程。
创建线程对象>>>A类 a = new A类();
调用线程对象的star方法:a.start();//启动一个线程。

)(RF1$PHJR%89JFN1S8})_4.png

注意:

千万不要调用run方法,如果调用run方法好比是对象调用方法,依然还是只有一个线程,并没有开启新的线程。

//播放音乐的线程类
class MusicThread  extends java.lang.Thread{
    @Override
    public void run() {
        for (int i=0;i<100;i++){
            System.out.println("播放音乐"+i);
        }
    }
}
//方式1、继承Thread类
public class ExtendThreadDemo {
    public static void main(String[] args){
        //主线程;运行游戏
        for (int i=0;i<100;i++){
            System.out.println("打游戏"+i);
            if(i==10){
                //创建线程对象,并启动线程
                MusicThread t = new MusicThread();
                t.start();//不能调用run方法
            }
        }

    }
}

方式2、实现Runnable接口:

步骤:
1):定义一个类A实现于java.lang.Runnable接口,注意A不是线程类。
2):在A类中覆盖Runnable接口中的run方法。
3):我们在run方法编写需要执行的操作>>>run方法里的,线程执行体。
4):在main方法(线程)中,创建线程对象,并启动线程。
创建线程对象>>>A类 a = new A类();
调用线程对象的star方法:a.start();//启动一个线程。

//播放音乐的线程类
class MusicRunnableImpl implements java.lang.Runnable {
    @Override
    public void run() {
        for (int i=0;i<500;i++){
            System.out.println("播放音乐"+i);
        }
    }
}
//方式2:实现Runnable接口
public class ImplementsRunnableDemo {
    public static void main(String[] args) {
        //主线程:运行游戏
        for(int i=0;i<100;i++){
            System.out.println("打游戏"+i);
            if (i==10){
                Runnable target = new MusicRunnableImpl();
                Thread t = new Thread(target);
                t.start();
            }
        }
    }
}

相关文章

  • iOS 多线程-NSThread

    1. 创建和启动线程 创建、启动线程 2. 其他创建线程方式 创建线程后自动启动线程[NSThread detac...

  • Java 多线程之线程的创建及其使用

    一、创建线程以及启动线程 二、停止线程 三、线程类中函数详解 一、创建线程以及启动线程 创建线程:Java中创建线...

  • 线程 NSThread

    NSThread 创建线程后自动启动线程 隐身创建并启动线程 让线程睡眠2秒(阻塞2秒) 启动线程进入就绪状态 -...

  • LINUX线程

    创建线程 启动线程 线程锁

  • JAVA进程和线程-day01

    A 进程 线程 线程和进程的区别 线程使用的场合 创建线程的方法 并发原理 使用Runnable创建并启动线程 线...

  • 其他快速开启线程的方法

    创建线程后自动启动线程 隐式创建并启动线程 ● 上述2种创建线程方式的优缺点● 优点:简单快捷● 缺点:无法对线程...

  • iOS 多线程 --- NSThread

    一. NSThread开启新的线程 1. 创建并启动线程 2. 创建并启动线程 3. 隐式创建线程并启动 二. N...

  • 创建线程的几种方法

    直接创建 创建线程后自动启动 创建后台线程

  • 创建线程和启动线程

    创建和启动线程,传统有两种方式:方式1、继承Thread类;方式2、实现Runnable接口; 线程类(java....

  • iOS 多线程--NSThread

    一、创建和启动线程 一个 NSThread 对象代表一条线程。 创建和启动线程 主线程相关用法 获得当前线程 线程...

网友评论

      本文标题:创建线程和启动线程

      本文链接:https://www.haomeiwen.com/subject/xlpwbftx.html