Java学习之线程

  • Post author:
  • Post category:java




Java线程



使用多线程的优点

背景:以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方法),肯定比多个线程完成多个方法用的时间短,为何仍需要多线程?



多线程的优点

  1. 提高应用程序的响应。对图形化界面更有意义,可增强用户体验。
  2. 提高计算机系统CPU的利用率
  3. 改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改。



何时需要多线程

  • 程序需要同时执行两个或多个任务
  • 程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作和搜索等
  • 需要一些后台运行的程序时



注意

  1. 要想启动线程,只能用start()方法:myThread.start();

  2. 要想调用多个线程,只能重新new一个对象

  3. //创建Thread类的子类的对象
            myThread t1 = new myThread();
            myThread t2 = new myThread();
            //通过此对象调用start();启动线程,调用当前线程的run()
            t1.start();
            t2.start();
    



创建一个输出100以内的线程例子

/**
 * 多线程的创建:方式一:继承于Thread类
 * 1.创建一个继承于Thread类的子类
 * 2.重写Thread类中的run()方法----->将此线程执行的方操作声明在run()中
 * 3.创建Thread子类的对象
 * 4.通过此对象调用start方法
 */
public class ThreadTest {
    public static void main(String[] args) {
        //创建Thread类的子类的对象
        myThread t1 = new myThread();
        //通过此对象调用start();启动线程,调用当前线程的run()
        t1.start();
        for (int i = 0; i < 100; i++) {
            if(i%2 == 0){
                System.out.println(Thread.currentThread().getName()+":"+ i + "*******main()********");
            }
        }
    }

}
class myThread extends Thread{
    public void run(){//输出100以内的偶数
        for (int i = 0; i < 100; i++) {
            if(i%2 == 0){
                System.out.println(Thread.currentThread().getName()+":"+i);
            }
        }
    }

}



版权声明:本文为weixin_42324146原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。