1、线程的使用步骤
2、第一种定义线程类的方法:继承java.lang.Thread类
MyThread 文件:
public class MyThread extends Thread { private int count=0;@Overridepublic void run(){System.out.println("线程已启动");while(count<10000) {count++;}System.out.println("count:"+count);}}
TestMyThread 文件:
public class TestMyThread {/** 继承Thread类创建线程* 1、继承Thread类* 2、重写run方法* 3、实例化线程对象* 4、调用start方法启动线程** 继承Thread类会存在什么问题?* 线程类不能继承其他类*/public static void main(String[] args){//实例化线程对象Thread myThread=new MyThread();//启动线程myThread.start();/** start方法的作用:该方法会使操作系统初始化一个新的线程,由这个新的线程来执行线程对象的run方法*/}}
运行效果:
3、第二种定义线程类的方法:继承java.lang.Runnable接口
MyRunnable文件:
public class MyRunnable implements Runnable {private int count=0;@Overridepublic void run() {count++;System.out.println("count:"+count);}}
TestMyRunnable文件:
public class TestMyRunnable { public static void main(String[] args) {// TODO Auto-generated method stubRunnable my=new MyRunnable(); System.out.println("thread启动了");Thread thread=new Thread(my); System.out.println("thread2启动了");Thread thread_2=new Thread(my);thread.start();thread_2.start();} }
4、两种创建方式的比较