JAVA高级基础(63)---创建新的线程

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/85012628

Java程序的运行原理

  1. 当使用Java命令启动一个程序的时候,JVM启动。就启动了一个进程。
  2. main方法会执行。main方法的运行就是该进程中的一个线程(主线程)。也会启动GC,GC是后台线程(守护线程)。
package org.lanqiao.thread.demo;

public class ThreadDemo {
	public static void main(String[] args) {
		for(int i = 0 ; i < 1000000;i ++) {
			
			new Demo();
		}
		
		for(int i = 0 ; i < 100000; i++) {
			
			System.out.println("------------------主线程执行");
		}
		
		
		
		
	}
}
class Demo{

	@Override
	public void finalize() {
		System.out.println("++++++++执行垃圾回收,资源释放.....");
		
	}
	
	
}

创建线程

  1. 继承   Thread类  的类,是一个真正的线程类,可以直接创建其对象,该对象就是一个线程
  2. 实现  Runnanle接口 的类,并不是一个真正的线程类。使用的时候还是需要通过Thread的构造方法  Thread(Runnable target)
  3. 重写 run(); 将该线程要完成的事情写在run方法中,run方法不能直接调用,由线程来自动调用
  4. 启动线程:start();  调用该方法来启动一个线程  
package org.lanqiao.thread.demo;

public class ThreadDemo1 {
	public static void main(String[] args) {
		//创建线程对象
		Thread1 t1 = new Thread1();
		//启动线程
		t1.start();
		for(int i = 0 ; i < 1000 ; i ++) {
			
			System.out.println("主线程运行");
		}
		
		
		
	}
	
	
}

class Thread1 extends Thread{
	
	@Override
	public void run() {
		for(int i = 0 ; i < 1000; i++) {
			System.out.println("新的线程执行");
			
		}
		
		
	}
	
	
}
package org.lanqiao.thread.demo;

public class ThreadDemo2 {
	public static void main(String[] args) {
		/*//创建一个线程对象
		Thread t = new Thread(new Thread2());
		//启动线程
		t.start();*/
		Thread2 t2 = new Thread2();
		t2.run();
		for(int i = 0 ; i < 1000 ; i++) {
			
			System.out.println("-----主线程执行");
		}
		
	}
}
class Thread2 implements Runnable{

	@Override
	public void run() {
		
		for(int i = 0 ; i < 1000 ;i++) {
			
			System.out.println("+++自定义线程执行");
		}
		
	}
	
	
}

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/85012628
今日推荐