zoukankan      html  css  js  c++  java
  • 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);
                }
            }
        }
    
    }

         

  • 相关阅读:
    LeetCode偶尔一题 —— 617. 合并二叉树
    《剑指offer》 —— 链表中倒数第k个节点
    《剑指offer》 —— 青蛙跳台阶问题
    《剑指offer》—— 二维数组中的查找
    《剑指offer》—— 替换空格
    《剑指offer》—— 合并两个排序的链表
    《剑指offer》—— 礼物的最大价值
    生成Nuget 源代码包来重用你的Asp.net MVC代码
    Pro ASP.Net Core MVC 6th 第四章
    Pro ASP.NET Core MVC 6th 第三章
  • 原文地址:https://www.cnblogs.com/yyxiangjava/p/5830621.html
Copyright © 2011-2022 走看看