-------
android培训、
java培训、期待与您交流! ----------
通过main方法启动的程序,也是一个独立的小线程。
1、JAVA中自定义线程的方式是,继承Thread类,成为其子类。
成为Thread类的子类需要重写run()方法,run方法中的代码块,就是线程会运行的代码块。
如果不重写run()代码块,则运行是调用的是父类方法,则无法实现本类的意图达到的功能。
如:
这样,程序运行时,就会执行run中的代码了。
2、JAVA中还有一种方法可以使线程执行指定的代码,即使本类实现Runnable接口,然后重写run()的方法。
如:
这种方法的要点在于,Thread中有一个构造方法可以接受Runnable对象。所以可以通过新建Thread对象接收Runnable对象的方式来使线程执行指定的代码块。
需要注意的是,如果希望线程都运行同一个run()中的代码,需要让线程都运行在同一个内存空间中。
两种多线程实现的例子:
第二种例子:本类对象赋给线程对象执行。
线程
线程是指独立不可再分的执行任务的小程序。通过main方法启动的程序,也是一个独立的小线程。
1、JAVA中自定义线程的方式是,继承Thread类,成为其子类。
成为Thread类的子类需要重写run()方法,run方法中的代码块,就是线程会运行的代码块。
如果不重写run()代码块,则运行是调用的是父类方法,则无法实现本类的意图达到的功能。
如:
class NewThread extends Thread {
}
这样是可以的,但是没有意义,正确的做法是:
class NewThread extends Thread {
public void run() {
要执行的代码
}
}
这样,程序运行时,就会执行run中的代码了。
2、JAVA中还有一种方法可以使线程执行指定的代码,即使本类实现Runnable接口,然后重写run()的方法。
如:
class NewThread implements Runnable {
public void run() {
要执行的代码块
};
}
这种方法的要点在于,Thread中有一个构造方法可以接受Runnable对象。所以可以通过新建Thread对象接收Runnable对象的方式来使线程执行指定的代码块。
多线程
多线程指的是多个线程同时运行。需要注意的是,如果希望线程都运行同一个run()中的代码,需要让线程都运行在同一个内存空间中。
两种多线程实现的例子:
第一种例
本类对象就是线程,直接创建启动即可。(此处需要用静态全局变量才可传递参数)
public static void main(String[] args) {
NewThread t1 = new NewThread();
NewThread t2 = new NewThread();
NewThread t3 = new NewThread();
NewThread t4 = new NewThread();
t1.start();
t2.start();
t3.start();
t4.start();
}
class NewThread extends Thread{
public void run() {
System.out.println("运行的代码");
};
}
第二种例子:本类对象赋给线程对象执行。
public static void main(String[] args) {
//只需要创建一个本类对象就足够了
NewThread nt = new NewThread();
//如果想要线程都运行在同一个内存中的话,切记放入同一个对象
Thread t1= new Thread(nt);
Thread t2= new Thread(nt);
Thread t3= new Thread(nt);
Thread t4= new Thread(nt);
t1.start();
t2.start();
t3.start();
t4.start();
}
class NewThread implements Runnable {
public void run() {
System.out.println("运行的代码");
};
}