zoukankan      html  css  js  c++  java
  • 关于Thread类的简单使用

    线程:
    线程也被称为轻量级进程,进程和线程都提供一个执行环境,但创建一个新的线程比创建一个新的进程资源要少得多

    线程存在进程里,也就是说一个进程至少包括一个线程

    线程共享进程的资源,包括内存和打开的文件,所以这使得通信可能会有问题

    多线程执行是java平台的一个基本特征

    每个应用程序至少有一个线程,但是必需有一个主线程,这个主线程是用来创建额外的线程

    这是一个例子:

    testThread类:

    package com.d7.util;
    
    public class testThread{
    
        public static void main(String[] args) {
            //创建线程有两种方法
            //1.实现Runnable接口
            //2.继承Thread类
            Thread thread=new Thread(new myWork());
            //启动一个线程
            thread.start();
            Thread thread2=new Thread(new myWork());
            thread2.start();
            
            Thread thread1=new forClass();
            thread1.start();
            //终止一个进程会触发InterruptedException异常,所以在catch里添加return即可终止
            thread1.interrupt();
        }
    
    }

    myWork类:

    package com.d7.util;
    
    //实现Runnable接口
    public class myWork implements Runnable {
    
        @Override
        public void run() {
            // TODO Auto-generated method stub
            System.out.println("我是一个线程");
        }
    
    }

    forClass类:

    package com.d7.util;
    
    //继承Thread类
    public class forClass extends Thread{
    
        @Override
        public void run() {
            String [] arrstr= {
                    "Hello",
                    "2017",
                    "bye",
            };
            for(int i=0;i<arrstr.length;i++) {
                System.out.println(arrstr[i]);
                //这是判断这个静态值是否为真,为真就说明外部终止了这个线程,里面写return就终止了这个线程
                //下面还有一种方法如果要用二选一
                /*if(this.isInterrupted()) {
                    System.out.println("if终止");
                    return;
                }*/
                try {
                    Thread.sleep(4000);
                } catch (InterruptedException e) {
                    //只要外部终止了就会触发这个异常,所以加return就不会往下执行
                    System.out.println("终止");
                    return;
                }
            }
        }
    
    }

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    lumen 错误&日志
    Composer设置忽略版本匹配的方法
    Laravel框架数据库CURD操作、连贯操作使用方法
    laravel5-目录结构分析
    Lumen 设置 timezone 时区
    phpstorm laravel单元测试 配置
    使用laravel的Eloquent模型获取数据库的指定列
    phpstorm 配置自带webserver ,配置根目录
    使用 OWIN 作为 ASP.NET Web API 的宿主
    angularjs webstorm 单元测试 Package.json
  • 原文地址:https://www.cnblogs.com/-brl/p/7359110.html
Copyright © 2011-2022 走看看