• 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();

  • 相关阅读:
    apache php 整合
    ide vim 设置
    saas
    总结一些做人的标准
    关于项目和产品
    Page.ClientScript.RegisterArrayDeclaration
    span或者input的disabled(小技巧)
    JS屏蔽鼠标右键的两种方法(小技巧)
    js使用对象(小技巧)
    各种CMS
  • 原文地址:https://www.cnblogs.com/jasonboboblog/p/12783853.html
Copyright © 2020-2023  润新知