• 2.1新建线程


    public class 自定义线程创建 {
    public static void main(String[] args) {
    ThreadPoolExecutor threadPoolExecutor=new ThreadPoolExecutor(2,
    5,
    0,
    TimeUnit.SECONDS,
    new ArrayBlockingQueue<Runnable>(2),
    new ThreadFactory() {
    public Thread newThread(Runnable r) {
    Thread t=new Thread(r);
    System.out.println("Creat");
    return t;
    }
    },
    // new ThreadPoolExecutor.AbortPolicy());//第一种拒绝策略:直接抛出异常AbortPolicy
    new ThreadPoolExecutor.CallerRunsPolicy());//第二种拒绝策略:新建一个线程
    // new ThreadPoolExecutor.DiscardOldestPolicy());//第三种拒绝策略:在队列里推出一个最早的
    // new ThreadPoolExecutor.DiscardPolicy());//第四种:直接丢弃。
    // new RejectedExecutionHandler() {
    // public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
    // System.out.println(Thread.currentThread().getName() + "被抛弃了");
    // try {
    // Thread.sleep(2000);
    // } catch (InterruptedException e) {
    // e.printStackTrace();
    // }
    // System.out.println(Thread.currentThread().getName() + "拒绝成功");
    //
    // }
    // });//第种:直接丢弃。
    for (int i = 0; i < 10; i++) {
    final int finalI = i;
    threadPoolExecutor.execute(new Runnable() {
    public void run() {
    System.out.println(Thread.currentThread().getName()+"开始"+ finalI);
    try {
    Thread.sleep(10000);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"结束"+ finalI); }
    });
    }
    }
    }
  • 相关阅读:
    C#泛型
    QT QML Keys 处理注意事项
    Ubuntu 16.04 安装 QT Create 5.3.1
    在VMWare中安装了Ubuntu16.04,想要 Win10 中通过 SecureCRT 来操作
    Ubuntu16在VMWare中使用共享文件夹
    QT QLineEdit 获取焦点/获取焦点后全选字符
    QT Layout 布局的重要性
    QT ToolBar 工具栏浮动状态
    QT 格式化字符串功能
    QT 窗体之间(MainWindow 和 Dialog)数据传递
  • 原文地址:https://www.cnblogs.com/anxbb/p/8425321.html
Copyright © 2020-2023  润新知