多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持
而能够在同一时间执行多于一个线程,进而提升整体处理性能。
为什么要有多线程?举一个例子:比如你在qq中传送比较大的文件,如果是单线程程序,那么你的qq就
可能卡在哪里,你将不能进行qq聊天等功能了,只能等我文件传送完了,你才能使用qq。如果是多线程的
话,那你将解决这个问题。
实现多线程有两种方式,一为继承Thread类。下面是个小例子:
class ThreadDemo extends Thread{
public void run(){//复写run方法 从而来实现你想要实现的代码
System.out.println("执行线程");
}
}
class MainClass{
public static void(String[] args){
ThreadDemo demo = new ThreadDemo();
demo.start();//等运行start方法就会执行上面的run方法。
for(int i = 0; i<100;i++)
{
System.out.println("主线程程序");
}
}
}
上述程序的运行结果,发现每次都是不一样的,原因是线程与主线程会交替执行。
线程有几个典型的方法:sleep(100s) 这里是指线程进入睡眠 等100s又自动运行。
wait()方法是线程进入等待状态,notify则可以在等待中的线程重新运行,
synchronized是一个关键字,代表这个方法加锁,也就是当一个现在在运行synchronized里面的方法,
别的线程将无发访问synchronized加锁的方法。