Java--多线程的创建(三种方式)
2017-10-17 21:48
239 查看
线程的创建有三种方法
1,实现一个Runable接口的类 并重写run()f方法
package shangguigu.com.day17;
/**
*
* 打印1--100之间的偶数
* @author Administrator
*
*/
public class Thread02 implements Runnable{
//1、创建一个实现Runnable接口的类
@Override
//2.重写run()方法
public void run() {
for(int i = 0;i<100;i++) {
if(i % 2 == 0) {
System.out.println(Thread.currentThread().getName()+": "+i);
}
try {
//线程休眠1秒
Thread.sleep(1000);
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
}
//测试类
package shangguigu.com.day17;
import org.junit.Test;
/**
*
*
* @author Administrator
*
*/
public class ThreadTest01 {
@Test
public void test01() {
//实例化实现Runnable接口的类
Thread02 thread02 = new Thread02();
//创建Thread 对象
Thread t1 = new Thread(thread02);
//给线程命名
t1.setName("线程1");
//启动线程
t1.start();
Thread t2 = new Thread(thread02);
t2.setName("线程2");
t2.start();
}
}
2.第二种方式
创建一个类继承Thread 并重写run()方法
//创建一个继承与Thread的 子类
public class Thread02 extends Thread{
//重写Thread类的run() 方法 在该方法里面实现此线程要完成的功能
public void run() {
for(int i = 0;i<100;i++) {
System.out.println(Thread.currentThread().getName()+i+" ");
}
}
}
//测试类
public class TestThread01 {
@Test
public void test01() {
//创建子类的对象
Thread02 thread02 = new Thread02();
//调用线程的start() 启动线程,调用相应的run();
thread02.start();
for(int i = 0;i<100;i++) {
System.out.println(Thread.currentThread().getName()+i+" ");
}
}
}
两种方式的联系;
1.联系:puiblic class Thread implements Runable
2.实现的方式优于继承的方式 实现的方法避免了Java中的单继承的局限性 如果多个线程操作同一个数据 更适合实现的方法
多线程的优点:
提高应用程序的响应,对图形化界面更有意义 可增强用户的体验。
提高计算机CPU的利用率
改善程序结构。将即长久有复杂的进程分为多个线程,独立运行,利于理解和修改
1,实现一个Runable接口的类 并重写run()f方法
package shangguigu.com.day17;
/**
*
* 打印1--100之间的偶数
* @author Administrator
*
*/
public class Thread02 implements Runnable{
//1、创建一个实现Runnable接口的类
@Override
//2.重写run()方法
public void run() {
for(int i = 0;i<100;i++) {
if(i % 2 == 0) {
System.out.println(Thread.currentThread().getName()+": "+i);
}
try {
//线程休眠1秒
Thread.sleep(1000);
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
}
//测试类
package shangguigu.com.day17;
import org.junit.Test;
/**
*
*
* @author Administrator
*
*/
public class ThreadTest01 {
@Test
public void test01() {
//实例化实现Runnable接口的类
Thread02 thread02 = new Thread02();
//创建Thread 对象
Thread t1 = new Thread(thread02);
//给线程命名
t1.setName("线程1");
//启动线程
t1.start();
Thread t2 = new Thread(thread02);
t2.setName("线程2");
t2.start();
}
}
2.第二种方式
创建一个类继承Thread 并重写run()方法
//创建一个继承与Thread的 子类
public class Thread02 extends Thread{
//重写Thread类的run() 方法 在该方法里面实现此线程要完成的功能
public void run() {
for(int i = 0;i<100;i++) {
System.out.println(Thread.currentThread().getName()+i+" ");
}
}
}
//测试类
public class TestThread01 {
@Test
public void test01() {
//创建子类的对象
Thread02 thread02 = new Thread02();
//调用线程的start() 启动线程,调用相应的run();
thread02.start();
for(int i = 0;i<100;i++) {
System.out.println(Thread.currentThread().getName()+i+" ");
}
}
}
两种方式的联系;
1.联系:puiblic class Thread implements Runable
2.实现的方式优于继承的方式 实现的方法避免了Java中的单继承的局限性 如果多个线程操作同一个数据 更适合实现的方法
多线程的优点:
提高应用程序的响应,对图形化界面更有意义 可增强用户的体验。
提高计算机CPU的利用率
改善程序结构。将即长久有复杂的进程分为多个线程,独立运行,利于理解和修改
相关文章推荐
- Java创建一个多线程的三种方式
- Java多线程三种创建方式
- java 多线程的三种创建方式
- java创建多线程的三种方式
- java创建启动多线程的三种方式
- 0036 Java学习笔记-多线程-创建线程的三种方式
- java创建启动多线程的三种方式
- Java学习之多线程--创建线程的三种方式
- 【java多线程】多线程的创建三种方式--笔记
- Java创建多线程的三种方式
- Java多线程之创建线程的三种方式比较
- java创建启动多线程的三种方式
- Java创建多线程的三种方式---Thread
- java 多线程(一)---创建线程的三种方式Thread,Runnable,Callable与Future
- JAVA多线程实现的三种方式
- JAVA多线程的三种实现方式
- JAVA多线程实现的三种方式
- java创建线程的三种方式及其对比
- Java 创建多线程的第二种方式
- Java 实现多线程的三种方式