在上一篇文章中,讲述了线程的基本概念和用法,这里将继续讲述线程组和线程池的一些东西。 线程组:java.lang.ThreadGroup 1. 线程组的介绍 线程组表示一个线程的集合。此外,线程组也可以包含其他线…
分类:java并发
Java开发岗位面试题归类
一、Java基础 1. String类为什么是final的。 ( 1、由于String类不能被继承,所以就不会被修改,这就避免了因为继承引起的安全隐患; 2、String类在程序中出现的频率比较高,如果为了…
Java多线程基础概念
进程跟线程的区别 进程process是操作系统中运行的一个任务,占有一定的内存资源;线程thread是进程中包含的一个或多个执行单元,归属于进程 多线程的应用场景 一个程序需要同时完成多个任务时 多个线程效率更高的情况下…
《Java线程池》:任务拒绝策略
在没有分析线程池原理之前先来分析下为什么有任务拒绝的情况发生。 这里先假设一个前提:线程池有一个任务队列,用于缓存所有待处理的任务,正在处理的任务将从任务队列中移除。因此在任务队列长度有限的情况下就会出现新任务的拒绝处理…
java提高同步锁的几点建议
1、减少锁的持有时间,只对关键的代码块加锁,减少synchronized锁内部的无关模块; 2、减小锁粒度,如Collections.synchronizedMap(map)返回线程安全的map会锁整张map;而Conc…
java锁有哪些类(转)
转载来源:http://www.cnblogs.com/lxmyhappy/p/7380073.html 1、Java都有哪些锁? 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向…
【Java并发编程】2、无锁编程:lock-free原理;CAS;ABA问题
转自:http://blog.csdn.net/kangroger/article/details/47867269 定义 无锁编程是指在不使用锁的情况下,在多线程环境下实现多变量的同步。即在没有线程阻塞的情况下实现同步…
Jdk1.7 JUC源码增量解析(3)-ForkJoin-非ForkJoin任务的执行过程
Jdk1.7 JUC源码增量解析(3)-ForkJoin-非ForkJoin任务的执行过程 作者:大飞 概述: 这篇通过分析一个非ForkJoin(Runnable或者Callable)任务的执行过程来分析…
Java多线程Callable和Future类详解
public interface Callable<V> 返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法…
Java Learning:并发中的同步锁(synchronized)
引言 最近一段时间,实验室已经倾巢出动找实习了,博主也凑合了一把,结果有悲有喜,BAT理所应当的跪了,也收到了其他的offer,总的感受是有必要夯实基础啊。 言归正传,最近在看到java多线程的时…
java并发-独占锁与共享锁
1 锁的独占与共享 java并发包提供的加锁模式分为独占锁和共享锁,独占锁模式下,每次只能有一个线程能持有锁,ReentrantLock就是以独占方式实现的互斥锁。共享锁,则允许…
java观察者模式的实现
在看博客里,有个订阅功能,当你订阅后,当博主发布新的博客,你都能收到消息。这是如何实现的?是不是后台有个线程在不停的轮询?如果是这样的话,显然太耗资源,如果当博客在发布时,找到所有的订阅者,然后循环的把消息发给订阅者,这…