-
java多线程编程定义一个局部静态变量可以让多个进程共享该变量。
-
修改线程名称----编写构造函数,添加super(name),为父类对象Thread添加名称。
-
使用Runnable创建线程步骤:
-
定义类实现Runnable实现接口;class TicketRunnable implements Runnable 将线程要运行的代码放在该run方法中。
-
覆盖Runnable接口中的run方法;public void run()
-
通过Thread类建立线程对象;Thread t1 = new Thread(t);
-
将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数;Thread t1 = new Thread(t); Q:为什么要将Runnable接口的子类对象传递给Thread的构造函数? A:因为自定义的run方法所属的对象是Runnable接口的子类对象,所以要让线程去执行指定对象的run方法,就必须明确该run方法所属的对象。
-
调用Thread的start方法开启线程并调用Runnable接口子类的run方法。t1.start();
-
继承方法和Runnable方法(继承和重写)有什么区别?
-
Runnable避免了单继承的局限性,比如一个继承了非Thread的类的对象想要实现多线程,就不能使用继承Thread的方式实现,因为类有单继承的特性,即只能继承一个父类。定义线程时建议使用Runnable方式。
-
代码的存放位置不同,继承方法代码存放在Thread子类的run方法中,Runnable方法线程代码存放在Runnable接口的子类的run方法中。