• Java基础之线程的两种实现方式


        进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程!线程总是属于某个线程,进程中的线程共享进程的内存

        注意:对Java来说,run()方法没有任何特别之处。像main()方法一样,它只是新线程知道调用的方法名称(和签名)。因此,在Runnable上或者Thread上调用run方法是合法的。但并不启动新的线程,启动新的线程要调用start()方法

        在Java中提供了两种方式实现线程:1、继承Thread类 

    package unit_fifteen;
    
    public class TestThread extends Thread {
        private String name;
    
        public TestThread(String name) {
            this.name = name;
        }
    
        @Override
        public void run() {
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 2; j++) {
                    System.out.println(name + ":" + i);
                }
            }
        }
        //继承Thread类
        public static void main(String[] args) {
            //可以创建没有命名的线程
            TestThread tone = new TestThread("阿三");
            TestThread ttwo = new TestThread("李四");
            tone.start();
            ttwo.start();
        }
    
    }  

        2、实现Runnable接口

    package unit_fifteen;
    
    public class TestRunnnable implements Runnable {
    
        public static void main(String[] args) {
            //实现Runnable接口,可以创建没有命名的线程
            TestRunnnable dsone = new TestRunnnable("阿三");
            TestRunnnable dstwo = new TestRunnnable("李四");
            //以实现了Runnable接口的类的对象作为参数创建Thread对象
            Thread tone = new Thread(dsone);
            Thread ttwo = new Thread(dstwo);
            tone.start();
            ttwo.start();
        }
    
        private String name;
    
        public TestRunnnable(String name) {
            this.name = name;
        }
    
        @Override
        public void run() {
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 2; j++) {
                    System.out.println(name + ":" + i);
                }
            }
        }
    
    }

         

  • 相关阅读:
    node(3)MVC代码结构模式moogoDB的学习
    node(2)
    node (1)
    函数上下文的判断
    JSON解析
    原生ajax
    new 关键字
    String 截取字符串#中间的文本
    WARN警告:Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended
    在Java8的foreach()中使用break、continue
  • 原文地址:https://www.cnblogs.com/yyxiangjava/p/5830621.html
Copyright © 2020-2023  润新知