Subprocesamiento múltiple - Programación concurrente (2) - Abra una nueva definición de subproceso e instancia con análisis de código fuente parcial

Parte del código fuente se explica en los comentarios del segmento de código

Después de que se inicia cada programa Java, se abre un subproceso de forma predeterminada, denominado subproceso principal (el subproceso donde se encuentra el método principal)

Cada subproceso es un objeto java.lang.Thread, y el objeto de subproceso actual se puede obtener a través del método Thread.currentThread

2 formas de iniciar un hilo

(1) Pase una instancia Runnable y escriba las tareas que el subproceso secundario debe realizar en el método de ejecución

//第1种方法
public class Main {
	public static void main(String[] a) {
		Thread tj = new Thread(new Runnable() {
			@Override
			public void run() {//把线程想执行的任务写在run方法里即可
				System.out.println("新线程的名字 - "+Thread.currentThread().getName());
			}
		});
		tj.setName("汤键");//更改线程名称为“汤键”  不更改默认为Thread-0
		tj.setPriority(10);//更改线程优先级为10   不更改默认为普通优先级为5  线程优先级范围为1—10  数值越大优先级越高
		tj.start();//启动线程;Thread调用start方法后,内部会调用线程自己的run方法
	}
}//可用Lambda表达式优化

(2) Heredar la clase Thread y anular el método de ejecución

//第2种方法
class tt extends Thread{
	public void run() {
		//System.out.println("新线程的名字 - "+getName());  
		//使用getName()不会准确知道当前代码执行在哪一线程,只会返回new时内部分配的固定名称,它不会管你线程是否启动成功,都会分配这个名字
		System.out.println("新线程的名字 - "+Thread.currentThread().getName());
	}
}

public class Main {
	public static void main(String[] a) {
		Thread tj = new tt();
		tj.setName("汤键");
		tj.setPriority(10);
		tj.start();
		//直接调用run方法不调用start方法相当于没继承Thread,还是在主线程中执行,是错的
	}
}

Mirando el código fuente de Thread, se puede ver que hay un método local nativo de start0 en el método de inicio. Aplicará algunos recursos a la CPU y al sistema. Solo cuando se reciba la aplicación, se ejecutará el método de ejecución. , y el subproceso se abrirá realmente, que es el subproceso múltiple real.

Supongo que te gusta

Origin blog.csdn.net/weixin_59624686/article/details/123929905
Recomendado
Clasificación