多线程的解释
2015-01-13 21:34
197 查看
多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持
而能够在同一时间执行多于一个线程,进而提升整体处理性能。
为什么要有多线程?举一个例子:比如你在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加锁的方法。
多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持
而能够在同一时间执行多于一个线程,进而提升整体处理性能。
为什么要有多线程?举一个例子:比如你在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加锁的方法。
相关文章推荐
- Java Notes: Java的多线程创建的两种方法以及Race Condition的解释
- Java Notes: Java的多线程创建的两种方法以及Race Condition的解释
- Java中的多线程编程解释概要
- curl多线程解释[转]
- 多线程-同步代码块解决线程安全问题的解释以及同步的特点及好处和弊端
- 前线解释多线程《一》
- 多线程,进程与线程的解释
- 多线程-----经典解释监视器和对象锁
- 前线解释多线程《二》
- Android多线程Thread与Runnable接口(实用性理论解释)
- 时间片轮转 / 多任务 多线程解释 /抢占、非抢占
- 前线解释多线程《二》
- JVM内存模型来解释多线程并发常见问题和volilate,final,ThreadLocal
- iOS Swift 和 Objective-c 两种语言对于多线程的详细解释
- java多线程Future和Callable类的解释与使用
- Java多线程的两种实现方式详细解释
- 看到有网友说Node.js是支持多线程的,我在这里解释一下
- Linux 多线程编程入门--线程函数解释
- Java多线程学习-Thread.state 解释
- 多线程和进程的一个简单的解释(转自阮一峰的博客)