Thread和ThreadGroup
Thread和ThreadGroup
学习了:https://www.cnblogs.com/yiwangzhibujian/p/6212104.html 这个里面有Thread的基本内容;
http://blog.csdn.net/a352193394/article/details/39323427 这个讲解了ThreadGroup
https://www.cnblogs.com/yy2011/archive/2011/05/05/2037564.html 这个比较了ThreadGroup与Executor
Thread比如属于一个ThreadGroup,
源码:
Thread parent = currentThread();
SecurityManager security = System.getSecurityManager();
if (g == null) { // 这个就是ThreadGroup
/* Determine if it's an applet or not */ /* If there is a security manager, ask the security manager
what to do. */
if (security != null) {
g = security.getThreadGroup();
} /* If the security doesn't have a strong opinion of the matter
use the parent thread group. */
if (g == null) {
g = parent.getThreadGroup();
}
}
Thread.setUncaughtExceptionHandler的意义在于不能修改原线程的情况下,为其增加一个错误处理器。
package com.stono.thread2; import java.lang.Thread.UncaughtExceptionHandler; // UnCaughtException意义在于不能对原线程修改的情况下,为其增加一个错误处理器。
public class ThreadUncaughtException {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
public void run() {
int a = 1/0;
}
});
t1.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println("线程:"+t.getName()+"出现异常,异常信息:"+e);
e.printStackTrace();
}
});
t1.start();
}
}
ThreadGroup.enumerate(list)方法把ThreadGroup中的线程拷贝到新的List中;
在ThreadGroup讲解过程中,一个runnable对象构建了多个线程,这个需要注意一下,TODO
Thread和ThreadGroup的更多相关文章
- 【Java并发系列01】Thread及ThreadGroup杂谈
img { border: solid black 1px } 一.前言 最近开始学习Java并发编程,把学习过程记录下.估计不是那么系统,主要应该是Java API的介绍(不涉及最基础的概念介绍), ...
- java.lang.Thread、java.lang.ThreadGroup和java.lang.ThreadLocal<T>详细解读
一.Thread类 public class Thread extends Object impments Runnable 线程是程序中的 执行线程.java虚拟机允许应用程序并发地运行多个执行线 ...
- 多线程爬坑之路-Thread和Runable源码解析
多线程:(百度百科借一波定义) 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提 ...
- 并发两个Thread的怪事——已解决
截图是马士兵视频的代码.我这样试了下,的确可行. 但是一般来说,主线程就是用来启动子线程的,所以我用了下图的形式,运行了3次.结果运行结果一直在变化,并且都没有正确的显示内容.这个截图里面编号11的线 ...
- java中多线程中Runnable接口和Thread类介绍
java中的线程时通过调用操作系统底层的线程来实现线程的功能的. 先看如下代码,并写出输出结果. // 请问输出结果是什么? public static void main(String[] args ...
- 【转】线程、Thread类和线程终止
一.线程Thread启动 0. Thread类实现了java.lang.Runnable接口,即实现了run方法.虽然在Sun JDK中,start()调用了start0()方法,start0()方法 ...
- java.lang.Thread
package java.lang; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java. ...
- java thread 线程锁同步,锁,通信
12.线程同步 当多个线程访问同一个数据时,非常容易出现线程安全问题.这时候就需要用线程同步 Case:银行取钱问题,有以下步骤: A.用户输入账户.密码,系统判断是否登录成功 B.用户输入取款金额 ...
- ThreadGroup解读
我们的项目用到了ThreadGroup 把thread放到了threadGroup中,名称统一起来了: , , 5L, TimeUnit.MINUTES, ), new ThreadFactory() ...
随机推荐
- A Reusable Aspect for Memory Allocation Checking
The checking logic would be refactored into an aspect file, as follows: after(void * s) : (call($ ma ...
- hdu5249
这个是去年astar的题~ 标准做法主席树,然而渣渣并不会(我确实叫zhazha...), 所以,他先离线,离散化,然后树状数组+二分水过了.... 离线的目的主要是为了离散化,剩下的就和用一个树状数 ...
- codevs1959拔河比赛(二维费用背包)
1959 拔河比赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 一个学校举行拔河比赛,所有的人被分成了两组,每个人 ...
- codeforces——思路与规律
codeforces 804B http://codeforces.com/problemset/problem/804/B /* 题意:给定一个只含ab的序列,每次操作可将ab变为bba 问 ...
- go 函数高级运用
一.函数作用域 说明 作用域的定义:已声明标识符所表示的常量.类型.变量.函数或包在源代码中的作用范围 在说函数作用域之前,先简单说一下局部变量和局变量 简单的说: 全局变量:在一个文件中,任何地方都 ...
- 基于artDialog的扩展
/* * * 引用此文件必须引用以下两个资源文件,并且还要引用jQuery * <link href="ui-dialog.css" rel="stylesheet ...
- 6月10遇到的bug
3.遇到的BUG 1.@Service(version = "1.0.0", interfaceClass = TransactionItemService.clas ...
- 构造函数中this,return的详解
function Foo(name,age){ this.name=name; this.age=age; } var foo=new Foo("Tom",14); foo.nam ...
- java编程基础篇-------> 从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季度。如果是 12 月、1 月、2 月,就属于冬季。
从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季度.如果是 12月.1 月.2 月,就属于冬季:如果是 3 月.4 月.5 月,就属于春季:如果是 6 月.7 月.8 月,就属于夏季: ...
- Deutsch lernen (13)
1. die Sicherheit, -en 安全(性) Was ist Ihnen wichtiger: Freiheit oder Sicherheit? Wie ist es mit der ...