创建线程的 Java 程序
线程可以被称为轻量级进程。线程使用更少的资源在进程中创建和存在;线程共享进程资源。Java 的主线程是程序启动时启动的线程。从线程是由主线程创建的。这是完成执行的最后一个线程。
线程可以通过以下方式以编程方式创建:
- 实现 java.lang.Runnable 接口。
- 扩展 java.lang.Thread 类。
您可以通过实现 runnable 接口并重写 run()方法来创建线程。然后,您可以创建一个线程对象并调用 start()方法。
螺纹等级:
Thread 类提供了用于创建和操作线程的构造函数和方法。该线程扩展了对象并实现了可运行接口。
// start a newly created thread.
// Thread moves from new state to runnable state
// When it gets a chance, executes the target run() method
public void start()
可运行界面:
任何具有旨在由线程执行的实例的类都应该实现 Runnable 接口。Runnable 接口只有一个方法,叫做 run()。
// Thread action is performed
public void run()
创建线程的好处:
- 与进程相比,Java Threads 更轻量级;创建线程花费的时间和资源更少。
- 线程共享其父进程的数据和代码。
- 线程通信比进程通信简单。
- 线程之间的上下文切换通常比进程之间的切换便宜。
调用 run()而不是 start()
常见的错误是使用 run()而不是 start()方法启动线程。
Thread myThread = new Thread(MyRunnable());
myThread.run(); //should be start();
您创建的线程不调用 run()方法。相反,它被创建神话的线程调用。
例 1:通过使用线程类
Java 语言(一种计算机语言,尤用于创建网站)
import java.io.*;
class GFG extends Thread {
public void run()
{
System.out.print("Welcome to GeeksforGeeks.");
}
public static void main(String[] args)
{
GFG g = new GFG(); // creating thread
g.start(); // starting thread
}
}
Output
Welcome to GeeksforGeeks.
示例 2:通过实现可运行接口
Java 语言(一种计算机语言,尤用于创建网站)
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");
}
}
Output
gfg
Inside run method
版权属于:月萌API www.moonapi.com,转载请注明出处