Home  >  Article  >  Java  >  How to implement multi-threading in java

How to implement multi-threading in java

王林
王林forward
2020-09-30 15:56:352025browse

How to implement multi-threading in java

Requirements: We want to implement a multi-threaded program

(Recommended tutorial: java course)

How Implementation:

Since threads depend on processes, we should create a process first

And the process is created by the system, so we should call the system function to create a process

However, Java cannot directly call system functions, so we have no way to directly implement multi-threaded programs

However, Java can directly call programs written in C/C to implement multi-threaded programs. Thread program

Because C/C calls system functions to create processes, and then Java calls things like this

and then provides some classes for us to use. We can implement multi-threading

So what are the classes provided by Java?

Thread

By looking at the API, we know that there are two ways to implement multi-threading

Method 1: Inherit the Thread class

Steps:

A: The custom class MyThread inherits the Thread class

B: Override run() in the MyThread class;

Why is the run() method?

Not all codes of a class need to be executed by threads

At this time, in order to distinguish those codes that can be executed by multiple threads, Java provides the run() method in the Thread class

Used to include the code executed by the thread

C: Create object

D: Start thread

Example:

package cn.itcast_01;
public class 如何实现多线程及其多线程方式1的思路 {
public static void main(String[] args) {
// 创建线程对象
MyThread my = new MyThread();
//启动线程
my.run();
my.run();
//调用run();方法为什么是单线程呢?
//因为run();方法的直接调用其实就相当于普通方法调用,所有你看到的是单线程的效果
//想要看到多线程的效果,就必须说另一个方法:start()
//面试题run()和start()的区别
//run():仅仅是封装被线程执行的代码,直接调用依旧是普通方法
//start():首先启动了线程,然后再由JVM去调用该线程的run()方法
MyThread my = new MyThread();
my.start();
my.start();//IllegalThreadStateException:非法的线程状态异常
//为什么呢?
//因为这是相当于my线程别调用了两次。而不是两个线程的启动
//创建两个线程
MyThread my1 = new MyThread();
MyThread my2 = new MyThread();
my1.start();
my2.start();
}
}

Related recommendations :Getting started with java

The above is the detailed content of How to implement multi-threading in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete
Previous article:What is recursionNext article:What is recursion