关闭

线程的五大状态

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。     1.新建状态(New):          当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码      2.就绪状态(Runnable)     ...
阅读(180) 评论(0)

java之yield(),sleep(),wait()区别详解-备忘笔记

1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的...
阅读(114) 评论(0)

spring线程池ThreadPoolExecutor配置并且得到任务执行的结果

用ThreadPoolExecutor的时候,又想知道被执行的任务的执行情况,这时就可以用FutureTask。 原创不易,转载请注明出处:spring线程池ThreadPoolExecutor配置并且得到任务执行的结果 代码下载地址:http://www.zuidaima.com/share/1724478138158080.htm ThreadPoolTask ...
阅读(146) 评论(0)

Spring的线程池和JDK的线程池的区别?

API 文档中很清楚,SpringFrameWork 的 ThreadPoolTaskExecutor 是辅助 JDK 的 ThreadPoolExecutor 的工具类,它将属性通过 JavaBeans 的命名规则提供出来,方便进行配置。 1.ThreadPoolExecutor  Spring中的ThreadPoolTaskExecutor是借助于JDK并发包中的java.util...
阅读(669) 评论(0)

线程池ThreadPoolExecutor使用简介

一、简介  线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:  ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,  long keepAliveTime, TimeUnit unit,  BlockingQueue workQueue,  RejectedEx...
阅读(541) 评论(0)

并发新特性—Executor框架与线程池(含代码)

转载请注明出处:http://blog.csdn.NET/ns_code/article/details/17465497 Executor框架简介     在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的...
阅读(178) 评论(0)

ExecutorService与Executors例子的简单剖析

对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。          看一个简单的例子:  Java代码   public class CacheThre...
阅读(166) 评论(0)

Promise模式简介(Future) --- Java实现异步

Promise模式简介 Promise模式是一种异步编程模式 。它使得我们可以先开始一个任务的执行,并得到一个用于获取该任务执行结果的凭据对象,而不必等待该任务执行完毕就可以继续执行其他操作。等到我们需要该任务的执行结果时,再调用凭据对象的相关方法来获取。这样就避免了不必要的等待,增加了系统的并发性。这好比我们去小吃店,同时点了鸭血粉丝汤和生煎包。当我们点餐付完款后,我们拿到手的其实只是一张...
阅读(522) 评论(0)

java并发编程-Executor框架+Future

Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为: 并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,Execu...
阅读(219) 评论(0)

利用Future异步获取多线程的返回结果

Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。 有了Future就可以进行三段式的编程了,1.启动多线程任务2.处理其他事3.收集多线程任务结果。从而实现了非阻塞的任务调用。在途中遇到一个问题,那就是虽然能异步获取结果,但是Future的结果需要通过isdone来判断是否有结...
阅读(1725) 评论(0)

线程与进程的区别以及对多线程并发的理解

转自: http://blog.sina.com.cn/s/blog_12f5264ff0102v8eq.html http://blog.csdn.net/suxinpingtao51/article/details/8113509 http://blog.csdn.net/cqkxboy168/article/details/9026205/ 一、线程与进程的区别 ...
阅读(3374) 评论(0)

异步线程包装器

public interface InvokableT>{ public T invoke(); public T returnIfFail();} import java.util.concurrent.*; public class InvokeWrapperT>{ private final static ExecutorService executor = ...
阅读(188) 评论(0)

Java多线程同步设计中使用Mutex

Mutex是互斥体,广泛地应用在多线程编程中。本文以广为流程的Doug Lea的concurrent工具包的Mutex实现为例,进行一点探讨。在Doug Lea的concurrent工具包中,Mutex实现了Sync接口,该接口是concurrent工具包中所有锁(lock)、门(gate)和条件变量(condition)的公共接口,Sync的实现类主要有:Mutex、Semaphore及其子...
阅读(913) 评论(0)

ThreadLocal 内部实现和应用场景

很多人都知道java中有ThreadLocal这个类,但是知道ThreadLocal这个类具体有什么作用,然后适用什么样的业务场景还是很少的。今天我就尝试以自己的理解,来讲解下ThreadLocal类的内部实现和应用场景,如果有什么不对之处,还望大家指正。 首先明确一个概念,那就是ThreadLocal并不是用来并发控制访问一个共同对象,而是为了给每个线程分配一个只属于该线程的对象(这么粗暴...
阅读(6179) 评论(4)

公平锁与非公平锁

总括:    在Java的ReentrantLock构造函数中提供了两种锁:创建公平锁和非公平锁(默认)。代码如下: public ReentrantLock() { sync = new NonfairSync(); } 在公平的锁上,线程按照他们发出请求的顺序获取锁,但在非公平锁上,则允许‘插队’:当一个线程请求非公平锁时,如果在发出请求的...
阅读(1141) 评论(0)
37条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:6971539次
    • 积分:61219
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2617篇
    • 译文:3篇
    • 评论:661条
    文章分类
    最新评论