多线程
2016-05-28 01:24
253 查看
多线程:
线程是程序执行的一条路径,
一个进程中可以包含多条线程
多线程并发执行可以提高程序的效率,
可以同时完成多项工作
多线程并发执行的实质就是CPU在做着高速的切换
并行和并发的区别
并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。
并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行
线程的两种实现方法
继承Thread
publicclass Demo2_Thread {
publicstatic void main(String[] args) {
MyThread mt = newMyThread(); //4,创建Thread类的子类对象
mt.start(); //5,开启线程
MyThreadmt1 = new MyThread();
mt1.start();
for(inti = 0; i < 1000; i++) {
System.out.println("bb");
}
}
}
class MyThread extends Thread{ //1,继承Thread
public void run(){ //2,重写run方法
for(int i = 0; i < 1000; i++){ //3,将要执行的代码写在run方法中
System.out.println("aaaaaaaaaaaa");
}
}
}
第二种方式 实现Runnable接口
publicclass Demo3_Thread {
publicstatic void main(String[] args) {
MyRunnable mr = newMyRunnable(); //4,创建Runnable的子类对象
Thread t = newThread(mr); //5,将其当作参数传递给Thread的构造函数
t.start(); //6,开启线程
for(inti = 0; i < 1000; i++) {
System.out.println("bb");
}
}
}
class MyRunnable implements Runnable{ //1,定义一个类实现Runnable
@Override
public void run(){ //2,重写run方法
for(int i = 0; i < 1000; i++){ //3,将要执行的代码写在run方法中
System.out.println("aaaaaaaaaaaa");
}
}
}
线程是程序执行的一条路径,
一个进程中可以包含多条线程
多线程并发执行可以提高程序的效率,
可以同时完成多项工作
多线程并发执行的实质就是CPU在做着高速的切换
并行和并发的区别
并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。
并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行
线程的两种实现方法
继承Thread
publicclass Demo2_Thread {
publicstatic void main(String[] args) {
MyThread mt = newMyThread(); //4,创建Thread类的子类对象
mt.start(); //5,开启线程
MyThreadmt1 = new MyThread();
mt1.start();
for(inti = 0; i < 1000; i++) {
System.out.println("bb");
}
}
}
class MyThread extends Thread{ //1,继承Thread
public void run(){ //2,重写run方法
for(int i = 0; i < 1000; i++){ //3,将要执行的代码写在run方法中
System.out.println("aaaaaaaaaaaa");
}
}
}
第二种方式 实现Runnable接口
publicclass Demo3_Thread {
publicstatic void main(String[] args) {
MyRunnable mr = newMyRunnable(); //4,创建Runnable的子类对象
Thread t = newThread(mr); //5,将其当作参数传递给Thread的构造函数
t.start(); //6,开启线程
for(inti = 0; i < 1000; i++) {
System.out.println("bb");
}
}
}
class MyRunnable implements Runnable{ //1,定义一个类实现Runnable
@Override
public void run(){ //2,重写run方法
for(int i = 0; i < 1000; i++){ //3,将要执行的代码写在run方法中
System.out.println("aaaaaaaaaaaa");
}
}
}
相关文章推荐
- 页面提交数据到数据库乱码问题
- JVM组成
- UISearchBar中无法输入中文
- MySQL 10061错误
- DescriptionResourcePathLocationType Dynamic Web Module 3.0 requires Java
- servlet与action共存的简单方法
- 简单的命令行模式
- 1016. 部分A+B (15)
- 20160527文档整理备忘
- 第二章 网络通信基本原理
- Android实现APP版本自动更新功能
- 总结&备忘:android尺寸单位dp与mm
- 基于lvs-dr模型的discuz负载均衡实现
- 对STM32的flash进行操作的一些要点
- Expert 诊断优化系列------------------你的CPU高么?
- Android ViewPager与SwipeBackLayout的业务需求解决
- AJAX验证用户名是否已存在
- 1014. 福尔摩斯的约会 (20)
- 计数DP
- 用Python写一个发邮件模块