Anyone who has studied Java knows that Java is one of the few languages that centrally supports multi-threading. Most languages intelligently run a single program block and cannot run multiple different program blocks at the same time. Java The multi-threading mechanism makes up for this shortcoming. It allows different program blocks to run together, which can make the program run more smoothly and achieve the purpose of multi-tasking:
##1. The concepts of threads and processes
The current operating system is a multi-tasking operating system. Multithreading is a way to achieve multitasking. A process is a dynamic execution process of a program, which refers to an application running in memory. Each process has its own independent memory space, and multiple threads can be started in one process. For example, in Windows systems, a running exe is a process. A thread refers to an execution flow in a process, and multiple threads can run in a process. For example, many threads can run in the java.exe process. Threads always belong to a process, and multiple threads in a process share the memory of the process. "Simultaneous" execution is human perception, execution is actually rotated between threads.2. Implementation of threads in Java
There are two ways to achieve multi-threading in Java, one is to integrate the Thread class, and the other is to implement Runnable interface. Let’s look at the creation principle of threads inherited from the Thread class: First define a thread class. This class must inherit from the Thread class, and the run() method must be explicitly overridden. For example:class MyThread extends Thread{ public void run(){ //覆写Thread类中的run方法此方法是线程中 线程主体; 的主体 }
public class ThreadText{ public stataic void main(String args[]){ MyThread m1=new MyThread();//实例化对象 m1.start();//启动多线程 } };
class MyThread implements Runnable{ public void run(){ //覆写Runnable接口中的run方法 线程主体; }
Then define a main class, instantiate the object of the thread class, and initiate the command to start the thread
public class ThreadText{ public stataic void main(String args[]){ MyThread m1=new MyThread();//实例化Runnable子类对象 Thread t1=new Thread(m1);//实例化Thread类对象 t1.start();//启动多线程 } };
3. Several states of threads
The above is the detailed content of Analyze the principles of multithreading in Java. For more information, please follow other related articles on the PHP Chinese website!