专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java线程创建方式

Java线程创建方式

更新时间:2022-09-06 08:21:37 来源:星辉 浏览971次

线程可以称为轻量级进程。线程使用较少的资源来创建和存在于进程中;线程共享进程资源。Java的主线程是程序启动时启动的线程。从属线程是主线程的结果。这是完成执行的最后一个Java线程

可以通过以下方式以编程方式创建线程:

实现java.lang.Runnable接口。

扩展java.lang.Thread类。

您可以通过实现可运行接口并覆盖 run() 方法来创建线程。然后,您可以创建一个线程对象并调用 start() 方法。

线程类:

Thread 类提供了用于创建和操作线程的构造函数和方法。该线程扩展了 Object 并实现了 Runnable 接口。

// 启动一个新创建的线程。
// 线程从新状态转移到可运行状态
// 当它有机会时,执行目标 run() 方法
公共无效开始() 

可运行接口:

任何具有打算由线程执行的实例的类都应该实现 Runnable 接口。Runnable 接口只有一个方法,称为 run()。

// 线程动作被执行
公共无效运行()

创建线程的好处:

与进程相比,Java 线程更轻量级;创建线程需要更少的时间和资源。

线程共享其父进程的数据和代码。

线程通信比进程通信简单。

线程之间的上下文切换通常比进程之间的切换便宜。

调用 run() 而不是 start()

常见的错误是使用 run() 而不是 start() 方法启动线程。

  线程 myThread = new Thread(MyRunnable());
  myThread.run(); //应该是start();

您创建的线程不会调用 run() 方法。相反,它由创建myThread的线程调用。

示例 1:通过使用线程类

import java.io.*;
class GFG extends Thread {
	public void run()
	{
		System.out.print("Welcome to bjpowernode.");
	}
	public static void main(String[] args)
	{
		GFG g = new GFG(); // creating thread
		g.start(); // starting thread
	}
}

输出

Welcome to bjpowernode

示例 2:通过实现 Runnable 接口

import java.io.*;
class GFG implements Runnable {
    public static void main(String args[])
    {
        // create an object of Runnable target
        GFG gfg = new GFG();  
        // pass the runnable reference to Thread
        Thread t = new Thread(gfg, "gfg");  
        // start the thread
        t.start();  
        // get the name of the thread
        System.out.println(t.getName());
    }
    @Override public void run()
    {
        System.out.println("Inside run method");
    }
}

输出

gfg
Inside run method

通过上述介绍,相信大家对Java线程创建方式已经有所了解,大家如果想了解更多相关知识,不妨来关注一下星辉的Java基础教程技术文档,里面还有更丰富的知识等着大家去学习,相信对大家一定会有所帮助的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>