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()本身没有抛异常。

  • 相关阅读:
    影响STA的因素-OCV
    FPGA的可靠性分析
    DFT
    Verilog 延时模型
    收缩数据库日志
    iis设置局域网访问,Context.Request.Url.Authority老是取出为localhost问题
    vs2012 后期生成事件命令报错 9009
    MIME配置
    sql 字符串拼接 =>for xml()
    js 切换embed的src值
  • 原文地址:https://www.cnblogs.com/backpacker/p/2797415.html
Copyright © 2011-2022 走看看