zoukankan      html  css  js  c++  java
  • Java基础--多线程

    1.启动线程的注意事项

    无论何种方式,启动一个线程,就要给它一个名字!这对排错诊断
    系统监控有帮助。否则诊断问题时,无法直观知道某个线程的用途。

    启动线程的试:

    a.

    Thread thread = new Thread("thread name") {
    public void run() {
    // do xxx
    }
    };
    thread.start();

    b.

    public class MyThread extends Thread {
    public MyThread() {
    super("thread name");
    }
    public void run() {
    // do xxx
    }
    }
    MyThread thread = new MyThread ();
    thread.start();

    c.

    Thread thread = new Thread() {
    public void run() {
    // do xxx
    }
    };
    thread.setName("thread name");
    thread.start();

    d.

    Thread thread = new Thread(task); // 传入任务
    thread.setName(“thread name");
    thread.start();

    e.

    Thread thread = new Thread(task, “thread name");
    thread.start();

    2.要响应线程中断

    程序应该对线程中断作出恰当的响应。

    a.

    Thread thread = new Thread("interrupt test") {
    public void run() {
    for (;;) {
    doXXX();
    if (Thread.interrupted()) {
    break;
    }
    }
    }
    };
    thread.start();

    b.

    public void foo() throws InterruptedException {
    if (Thread.interrupted()) {
    throw new InterruptedException();
    }
    }

    c.

    Thread thread = new Thread("interrupt test") {
    public void run() {
    for (;;) {
    try {
    doXXX();
    } catch (InterruptedException e) {
    break;
    } catch (Exception e) {
    // handle Exception
    }
    }
    }
    };
    thread.start();

  • 相关阅读:
    metasploitable实践
    免杀技术
    SQL注入
    ARP欺骗
    使用Nmap攻击靶机和使用Wireshark进行嗅探、分析
    Nmap
    搭建网络攻防环境
    20139216网络攻防技术第七次作业
    Android代码实现求和运算
    命令行输入参数,并实现排序
  • 原文地址:https://www.cnblogs.com/jasonboboblog/p/12783853.html
Copyright © 2011-2022 走看看