java中会用到多线程来进行一些额外的工作,而java中有两种可以开启多线程的方法
第一种是利用实现Runnable接口的类,以下是具体的步骤:
Runnable runnable = new MyRunnable();//线程的任务
Thread thread = new Thread(runnable);//开启新线程
thread.start();//开始新的线程
注意:
MyRunnable是实现了Runnable接口的类,是准备开启新的线程所需要进行的工作
thread可以看成一个工人,来执行实现了Runnable接口的类的工作。
实现Runnable接口的类只有public void run(){}方法需要重写,并且程序会从run()方法开始执行。
只有执行过thread.start();后才会开启新的线程。
此外,可以开启多个线程来执行同一个任务
Runnable runnable = new MyRunnable();
Thread thread1 = new Thread(runnable);
Thread thread2 = new Thread(runnable);
thread1.setName("myFirstThread");//线程的命名
thread2.setName("mySecondThread");
thread1.start();
thread2.start();
public class MyThreadJob implements Runnable{
public void run() {
String threadName;
for(int i = 0;i<25;i++){
synchronized (this){//只修饰部分代码
threadName = Thread.currentThread().getName();
}
System.out.println(threadName+" is running!");
}
}
}
--------------------------------------------------------------分-------------------------------割-------------------------------------线---------------------------------
此外,还有一种开启多线程的方法,首先我们需要建立一个继承自Thread的类
public class MyThread extends Thread{
private String name;
private int age;
@Override
public void run(){
go();
}
private void go() {
// TODO Auto-generated method stub
System.out.println("Name: "+name+", Age: "+age);
}
}
public class T1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread myThread = new MyThread();
myThread.start();
}
}
这就是java中使用多线程的两种方法,需要主要的是当时用多线程的时候一定要注意多线程对于临界资源以及共享资源的访问问题