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;
                }
            }
        }
    
    }

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    php setcookie(name, value, expires, path, domain, secure) 参数详解
    cookie 和session 的区别详解
    一群猴子排成一圈,按1,2,...n 编号,数到m只,踢出局,直到剩下最后一个猴子是大王
    封装数据库mysql, mysqli
    图片处理类(缩略图)
    封装验证码类
    Java多线程编程(一)
    SpringMVC 自定义拦截资料
    Python包的相对导入时出现错误的解决方法
    TCP协议总结
  • 原文地址:https://www.cnblogs.com/-brl/p/7359110.html
Copyright © 2011-2022 走看看