对JAVA多线程并发编程的理解
Java多线程编程关注的焦点主要是对单一资源的并发访问,本文从Java如何实现支持并发访问的角度,浅析对并发编程的理解,也算是对前段时间所学的一个总结。
线程状态转换
Java语言定义了5中线程状态,在任何一个时间点,一个线程只能有且只有其中一种状态,这5中状态分别是:
Ø
新建(New):创建后尚未启动的线程处于这种状态
Ø
运行(Run...
分类:
编程语言 时间:
2015-03-22 01:49:18
阅读次数:
479
使用线程池以获取最佳资源利用率Java 多线程编程论坛中最常见的一个问题就是各种版本的 "我怎么样才可以创建一个线程池?" 几乎在每个服务器应用里,都会出现关于线程池和工作队列的问题。本文中,Brian Goetz 就线程池原理、基本实现和调优技术、需要避开的一些常见误区等方面进行共享。为何要用线程池?有很多服务器应用,比如 Web 服务器,数据库服务器,文件服务器,或者邮件服务器,都会面对处理大...
分类:
编程语言 时间:
2015-02-13 20:01:18
阅读次数:
206
类java.util.concurrent.Exchanger提供了一个同步点,在这个同步点,一对线程可以交换数据。每个线程通过exchange()方法的入口提供数据给他的伙伴线程,并接收他的伙伴线程提供的数据,并返回。 当在运行不对称的活动时很有用,比如当一个线程填充了buffer,另一个线程从b...
分类:
编程语言 时间:
2015-01-27 11:04:48
阅读次数:
302
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination。转载请注明作者: 黄文海 出处:http://viscent.iteye.co...
分类:
编程语言 时间:
2015-01-25 23:58:51
阅读次数:
372
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-object。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。多线程...
分类:
编程语言 时间:
2015-01-25 23:55:15
阅读次数:
243
本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part1。转载请注明作者: 黄文海 出处:http://viscent.iteye.com...
分类:
编程语言 时间:
2015-01-25 23:47:45
阅读次数:
312
Java对多线程的支持还是比较给力的,JDK1.6里面有现成的API可用,一般的多线程应用足够了,
使用的时候注意最好加一层壳子,至少方便日志打印和后续扩展,以下是一个简单的启用的例子
1. 定义线程池变量
//线程池维护线程的最少数量: 2;//线程池维护线程的最大数量: 100;//线程池维护线程所允许的空闲时间: 2s;//线程池维护线程所允许的空闲时间的单位: TimeUnit.SE...
分类:
编程语言 时间:
2015-01-21 11:43:18
阅读次数:
251
1.进程 每个独立进行的程序称为进程,即“正在进行的程序”,进程都有自己独立的内存空间,如果某个进程去访问其他进程的内存空间,则有可能是病毒来的,操作系统的多任务其实是cpu以非常小的时间间隔交替执行多个程序,给人同时进行多个程序的感觉。 2.线程 1.线程是轻量级的进程。 2.线程没有独立的内存空...
分类:
编程语言 时间:
2014-11-15 15:20:44
阅读次数:
209
Java中创建线程主要有三种方式:
一、继承Thread类创建线程类
(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。
(2)创建Thread子类的实例,即创建了线程对象。
(3)调用线程对象的start()方法来启动该线程。
package com.thread;
public class Firs...
分类:
编程语言 时间:
2014-11-14 22:47:11
阅读次数:
217
java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说:写道给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。此处不赘述了,首先给出静态变量、实例变量、局部变量在多线程环境...
分类:
编程语言 时间:
2014-10-20 14:54:36
阅读次数:
301