线程
ITJava
不管遇到什么困难,都要记得给自己一个微笑的理由…
展开
-
Java线程:概念与原理
一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中...原创 2011-08-20 15:08:26 · 86 阅读 · 0 评论 -
Java 线程池学习
本文转自:http://www.cnblogs.com/jersey/archive/2011/03/30/2000231.html Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecut...原创 2011-07-20 09:21:43 · 67 阅读 · 0 评论 -
线程池(知识点)
固定线程池 public static ExecutorService newFixdThreadPool(int size); 此方法产生一个具有固定大小的线程池、如果有线程异常中止,将产生新的线程来替代他,参数size用来给出线程池的大小。 public static ExecutorService newSingleThreadExecutor(); 此方法创建一个线程池,有点像...原创 2011-09-03 11:47:34 · 135 阅读 · 0 评论 -
有返回值的线程
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callab...原创 2011-08-23 14:59:20 · 117 阅读 · 0 评论 -
Java线程:新特征-线程池
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。目前...原创 2011-08-23 14:49:51 · 77 阅读 · 0 评论 -
Java线程:线程的同步与锁
一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo { private int x = 100; public int getX() { return x; }...原创 2011-08-20 15:26:48 · 74 阅读 · 0 评论 -
Java线程:线程状态的转换
一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下: 1、新状态:线程对象已经创建,还没有在其上调用start()方法。 2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或...原创 2011-08-20 15:20:19 · 72 阅读 · 0 评论 -
Java线程:线程栈模型与线程的变量
要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。 下面通过一个示例性的代码说明线程(调用)栈的变化过程。 这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。 ...原创 2011-08-20 15:14:42 · 72 阅读 · 0 评论 -
Java线程:创建与启动
一、定义线程 1、扩展java.lang.Thread类。 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。 2、实现java.lang.Ru...原创 2011-08-20 15:12:24 · 64 阅读 · 0 评论 -
Java 守护线程
本文转自:http://www.cnblogs.com/jersey/archive/2011/03/30/1999993.html Refererence: 《守护线程总结》[1], 《Web应用程序中调度器的启动和关闭问题》[2] 在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)。 守护线程和用户线程唯一的区别就是守护线程会随着...原创 2011-07-20 09:25:42 · 299 阅读 · 0 评论