一、Thread类

  public class Thread extends Object  impments Runnable

  线程是程序中的 执行线程。java虚拟机允许应用程序并发地运行多个执行线程

  每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护线程。当某个线程中运行的代码创建一个新Thread,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护线程。

  当java虚拟机启动时,通常都会有单个非守护线程(它通常会调用某个指定类的main方法)。java虚拟机会继续执行线程,直到下列任一情况出现时为止

  * 调用了Runtime类的exit方法,并且安全管理器允许退出操作发生

  *非守护线程的所有线程都已经停止运行,无论是通过对run方法的通用中返回,还是通过抛出一个传播run方法之外的异常

  创建新线程有两种方法。一种方法是将类声明为Thread类的子类。改类应该重写Thread类中的run方法。接下来可以分配并启动改子类的实例

             创建线程的另外一种方法是声明实现Runnable接口的类。该类实现了run方法,然后可以分配该类的实例。在创建Thread时作为一个参数来传递并启动

  每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。

两个嵌套类

  Thread.State 线程状态 六种状态(new  runnable bolcked waiting timed_waiting terminated)

  Thread.UncaughtExceptionHandler 当Thread 因未捕获的异常而突然中止时,调用处理程序接口

三个字段摘要

  max_priority 线程可以具有的最高优先级

  min_priority 线程可以具有的最低优先级

  norm_priority 分配给线程的默认优先级

八个构造方法

  Thread(); 分配新的Thread对象

  Thread(Runnable target) 分配新的Thread对象

  Thread(Runnable target,String name) 分配新的Thread对象,并且指定线程的名称

  Thread(String name) 分配新的Thread对象,并且指定线程的名称

  Thread(ThreadGroup group,Runnable target) 分配新的Thread,并且指定线程组

  Thread(ThreadGroup group ,Runnable target,String name) 分配新的Thread 并且指定线程组和该线程的名称

  Thread(ThreadGroup group,Runnable target,String name,long stackSize) 指定堆栈大小

  Thread(ThreadGroup group,String name) 分配新的Thread对象,并且指定线程组合改线程的名称

24个方法摘要其中有过期的方法

  

  

java.lang.Thread、java.lang.ThreadGroup和java.lang.ThreadLocal<T>详细解读的更多相关文章

  1. java之Thread Dump分析

    什么是Thread Dump Thread Dump是非常有用的诊断Java应用问题的工具.每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机 ...

  2. java.lang.Thread

    package java.lang; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java. ...

  3. 线上zk节点报org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:187) at java.lang.Thread.run(libgcj.so.10)

    线上zk做配置管理,最近突然发现两个节点一直在刷下边 java.nio.channels.CancelledKeyException    at gnu.java.nio.SelectionKeyIm ...

  4. Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space

    在Eclipse 调试 springside showcase项目中,tomcat报异常 Exception in thread "RMI TCP Connection(idle)" ...

  5. Java 线程--继承java.lang.Thread类实现线程

    现实生活中的很多事情是同时进行的,Java中为了模拟这种状态,引入了线程机制.先来看线程的基本概念. 线程是指进程中的一个执行场景,也就是执行流程,进程和线程的区别: 1.每个进程是一个应用程序,都有 ...

  6. java.lang.Thread类详解

    java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...

  7. [Scala] java使用scala的jar包问题:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Short

    场景 刚写的scala处理bmp文件的实验, 打了jar包让java调用一下, 结果发生这个错误. package org.tanglizi.bmp.demo; import org.tanglizi ...

  8. java能不能自己写一个类叫java.lang.System/String正确答案

    原文: http://www.wfuyu.com/php/22254.html 未做测试 ! 最近学习了下java类加载相干的知识.然后看到网上有1道面试题是 能不能自己写个类叫java.lang.S ...

  9. Java 错误提示org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException

    java 操作excel文件 发布后报错 org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException XSS ...

随机推荐

  1. servlet上传文件报错(二)

    1.具体报错如下: java.io.FileNotFoundException: D:\MyEclipse\workspace\FileUpload\WebRoot\upload (拒绝访问.) at ...

  2. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'user'

    1.错误描述 2014-7-12 21:06:05 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager 信息: I ...

  3. hibernate学习(四)hibernate的一级缓存&快照

    缓存:提高效率 硬件的 CPU缓存   硬盘缓存   内存 软件的  io流缓存 hibernate  的一级缓存   也是为了操作数据库的效率. 证明一级缓存在  : Person p=sessio ...

  4. Ajax前后台交互函数

    function AJAX(obj){ //做网络请求的时候参数以对象的形式传递进来 //我们规定obj里面包含属性:url, //请求方式type, //date前端给后端传递的参数 //回调函数s ...

  5. JNDI在本项目中的应用

    一,在tomcat的context文件中做如下配置 <?xml version="1.0" encoding="UTF-8"?> <Conte ...

  6. Outlook 2010 对话简介 邮件自动关联

    对话简介 默认情况下,Microsoft Outlook 2010 收件箱中的电子邮件按日期进行组织并按对话进行排列,对话将具有相同主题的邮件组合为能以展开或折叠形式进行查看的对话.这在帮助您提高浏览 ...

  7. 【SDOI2009】HH的项链 (莫队)

    题面 Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此, 他的 ...

  8. 牛刀小试——记一次帮朋友小幅优化SQL

    和一个小朋友聊天,小朋友愁眉苦脸,不爱说话,我问怎么了,他说:经理交代的一个任务完成不了.我问:什么任务?他说:程序里的一个功能对应的SQL,太慢了.我问:现在性能是什么样?他说:一分钟.我问:达到什 ...

  9. Oracle数据库中in()参数超过一千报错代码报错

    转载请注明出处:http://www.cnblogs.com/xunzhaorendaxia/p/8570604.html 解决方案将select * from tablename where fie ...

  10. C++中不同变量、函数在内存中的内存情况《转》

    一.一个C++编译的程序占用的内存分为以下几个部分 1.栈区:由编译器自动分配 存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈. 2.堆区:一般由程序员分配释放,若程序员不释放,程序结 ...