zoukankan      html  css  js  c++  java
  • 复习 多线程

    复习一下多线程。

    创建线程的第一种方法: 继承 Thread

    A.java

    package com.allen;
    
    public class A extends Thread{ //注意,这里继承了 Thread
        public void run()
        {
            while (true)
            {
                System.out.println("aaaa");
            }
        }
    
    }

    调用 A.java 的 TestThread_1.java

    package com.allen;
    
    public class TestThread_1 {
        public static void main(String[] args)
        {
            A a = new A();
    //        a.run();//Single thread
            a.start();//Multiple threads
    // a.start(); //如果 uncomment 该句,将导致 exception 错误。因为一个 Thread() 对象 只能调用一次 start() 方法。
    while(true) { System.out.println("bbb"); } } }

    注意,在上面中,如果用的是 a.run() 那么就是单线程, 如果用的是 a.start() 那么就是用的多线程

    注意,一个 Thread() 对象 只能调用一次 start() 方法。

    Thread() 常用方法

     setName(): 设置线程名字

    currentThread() :获取当前线程的引用

    currentThread().getName(): 获取当前线程的名字。

    setPriority(): 设置线程的优先级。默认是5。数字越大越先执行。 举例:

         A aa = new A(); Thread t1 = new Thread(aa); t1.setPriority(Thread.NORM_PRIORITY+3);

     

    创建线程的第2种方法:实现 Runnable 接口 (implements Runnable)

    A.java

    package com.allen;
    
    public class A implements Runnable
    {
        public void run() {
            while (true)
            {
                System.out.println("aaaa");
            }
        }
        
    }

    调用 A.java 的 TestThread_1.java

    package com.allen;
    
    public class TestThread_1 {
        public static void main(String[] args)
        {
            A a = new A();
            Thread t = new Thread(a); //这里创建了一个Thread 对象
            t.start(); //调用 t 的 start() 方法
            while(true)
            {
                System.out.println("bbb");
            }
        }
    }

    OK。

    注意: 无论是继承 Thread() 类的 run() 方法,还是实现 Runnable() 类的 run() 方法都不能抛异常。因为 Thread()本身没有抛异常。

  • 相关阅读:
    Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
    我的工作流为什么启动不了
    关于IE下复选框的样式问题
    使用SharePoint rest语法返回已上传的SharePoint Excel 文件
    Running the complier from the Command Line
    关于inline
    来到坡国
    在oracle Virtual Box 虚拟机中搭建hadoop1.2.1完全分布式环境(转自康哥的博客)
    hadoop调试
    linux相关指令学习
  • 原文地址:https://www.cnblogs.com/backpacker/p/2797415.html
Copyright © 2011-2022 走看看