zoukankan      html  css  js  c++  java
  • java中多线程的两种创建方式

    一丶继承Thread类实现多线程

    第一步:继承Thread类
    第二步:重写run()方法
    第三步:创建继承了Thread类的对象 , 调用start()方法启动。
    //线程创建方式一 :
    /*
    第一步:继承Thread类
    第二步:重写run()方法
    第三步:创建继承了Thread类的对象 , 调用start()方法启动。
     */
    public class TestThread extends Thread{
        @Override
        public void run() {
            for (int i = 0; i < 3000; i++) {
                System.out.println("爱你三千遍");
            }
        }
    
        public static void main(String[] args) {
            TestThread testThread = new TestThread();
             testThread.start();
        }
    
    }

    二丶实现Runnable接口创建多线程

    第一步:实现runnable接口
    第二步:冲写run方法
    第三步:创建实现类对象,创建代理类thread类对象 +start()方法启动线程
    public class Thread_Study implements Runnable{
    /*
    * 第一步:实现runnable接口
    * 第二步:冲写run方法
    * 第三步:创建实现类对象,创建代理类thread类对象 +start()方法启动线程
    *
    * */
    
        @Override
        public void run() {
            for (int i = 0; i < 100; i++) {
                System.out.println("看书");
            }
        }
    
        public static void main(String[] args) {
            Thread_Study ts = new Thread_Study();
            new Thread(ts).start();
            for (int i = 0; i < 100; i++) {
                System.out.println("敲代码");
            }
    
        }
    
    
    }

    运行结果:

    敲代码
    敲代码
    敲代码
    敲代码
    敲代码
    敲代码
    敲代码
    敲代码
    看书
    看书
    看书
    看书
    看书
    看书
    看书

    结论:

    我们可以观察到敲代码和看书同时进行每个线程之间是不相互干涉的,各自执行各自的,这和调用方法不同,调用方法是等到上一个步骤执行完成才可以在执行下一个步骤.

     
     
  • 相关阅读:
    KindEditor-编辑器配置参数属性
    泛型作为返回类型的写法
    ObservableCollection<T> 类
    常遇到的问题
    实现跨浏览器html5表单验证
    mysql 密码重置
    Web用户的身份验证及WebApi权限验证流程的设计和实现
    Discuz3.2 新用户插入数据库SQL
    3. 深入研究 UCenter API 之 加密与解密(转载)
    window.open实现模式窗口
  • 原文地址:https://www.cnblogs.com/xiaoqiqistudy/p/10984248.html
Copyright © 2011-2022 走看看