
java线程
文章平均质量分 73
network_boy
爱编码,爱框架,爱原理,爱打游戏
展开
-
ExecutorService线程池的用法
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过 Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。一、创建任务 任务就是一个实现了Runnable接口的类。 创建的时候实run方法即可。 二、执行任务原创 2015-04-02 15:07:40 · 441 阅读 · 0 评论 -
java多线程之Semaphore信号量详解
信号量在操作系统中一般用来管理数量有限的资源.每类资源有一个对应的信号量.信号量的值表示资源的可用数量.在使用资源时,要先从该信号量上获取一个使用许可.成功获取许可之后,资源可用数量减1.在持有许可期,使用者可以对获取资源进行操作.完成对资源的使用之后,需要在信号量上释放一个许可,资源可用数加1,允许其他使用者获取资源.当资源可用数为0的时候,需要获取资源的线程以阻塞的方式来等待资源变为可用,或者转载 2015-04-12 23:45:16 · 538 阅读 · 0 评论 -
乐观锁与悲观锁的区别
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用转载 2015-04-12 23:43:10 · 515 阅读 · 0 评论 -
Java7之线程池ForkJoinPool
许多情况下,在一个程序中使用多线程是有益处的,可以大大提高程序的效率,多线程主要有以下3个优点1,资源利用率更好2,程序设计在某些情况下更简单3,程序响应更快。当然凡事有利就有弊,多线程也会使程序的开发,维护及调试更加复杂,当然如果我们能够扬长避短,在正确的场合下使用多线程,那么它将成为我们程序中开发的利器。 Java一直以来,对多线程的开发支持比较良好,特别在JDK5,6后引入的ja转载 2015-04-12 23:39:52 · 696 阅读 · 0 评论 -
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要转载 2015-04-12 23:30:50 · 455 阅读 · 0 评论 -
深入研究 Java Synchronize 和 Lock 的区别与用法
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized转载 2015-04-12 23:04:37 · 539 阅读 · 0 评论 -
Java死锁范例以及如何分析死锁
死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。在这里我已写好一个简单的程序,它将会引起死锁方案然后我们就会明白如何分析它。Java死锁范例ThreadDeadlock.java123456789101112转载 2015-04-05 16:00:50 · 679 阅读 · 1 评论 -
Java线程学习Top 50
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面转载 2015-04-03 10:13:05 · 457 阅读 · 0 评论 -
高并发ConcurrentHashMap使用注意事项
1.public class javaThreadTest implements Runnable { ConcurrentHashMap map = new ConcurrentHashMap(); @Test public void threadtest() { map.put("test", 0); for (原创 2015-01-07 17:12:10 · 2051 阅读 · 0 评论 -
Servlet单实例以及线程安全小结
Servlet 3.0笔记之Servlet单实例以及线程安全小结众所周知,Servlet为单实例多线程,非线程安全的。若一个Servlet对应多个URL映射,那么将会生成一个还是多个Servlet实例呢?最好的办法就是动手体验一下@WebServlet({ "/demoServlet1", "/demoServlet2" })public class DemoServl原创 2015-04-02 15:21:20 · 432 阅读 · 0 评论 -
java并发
Java多线程编程原创 2015-04-02 23:25:28 · 457 阅读 · 0 评论 -
高性能高并发 面试
转载:http://www.cnblogs.com/heartstage/p/3415584.htmlredis,nginx/Tengine,keeplive,DRBD,heartbeat这些小工具还是可以在虚拟机上面多开几台跑起来的.至于大业务场景,除了进大公司没有别的办法,因为有些工具运行的配置要求太高,必须多台服务器配合才能完成.如果有精力,业内很喜欢用perl,python转载 2015-04-14 21:58:26 · 4971 阅读 · 0 评论