Java小强个人技术博客站点
手机版
首页
Java
开源
服务器
站长
框架
Linux
软件
JS
DB
NET
微语
留言薄
当前位置:
首页
>> 标签 线程
Java中锁的应用之-ReadWriteLock
7378
0
理论
| 2014-12-31 10:04
与互斥锁相比,读-写锁允许对共享数据进行更高级别的并发访问。虽然一次只有一个线程(writer 线程)可以修改共享数据,但在许多情况下,任何数量的线程可以同时读取共享数据(reader 线程),读-写锁利用了这一点。从理论上讲,与互斥锁相比,使用读-写锁所允许的并发性增强将带来更大的性能提高。在实践中,只有在多处理器上并且只在访问模式适用......
查看详细
Java中锁的应用之-Lock
7073
0
理论
| 2014-12-30 16:58
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。要注意的是锁定和取消锁定出现在不同作用范围中时,必须谨慎地确保保持锁定时所执行的所有代码用 try-finally 或 try-catch 加以保护,以确保在必要时释放锁。阅读全文>>...
查看详细
Condition 条件变量,线程通信更高效的方式
6692
0
理论
| 2014-12-25 16:54
条件(也称为条件队列 或条件变量)为线程提供了一个含义,以便在某个状态条件现在可能为 true 的另一个线程通知它之前,一直挂起该线程(即让其“等待”)。因为访问此共享状态信息发生在不同的线程中,所以它必须受保护,因此要将某种形式的锁与该条件相关联。等待提供一个条件的主要属性是:以原子方式 释放相关的锁,并挂起当前线程,就像 Object.wait 做的那样......
查看详细
UDP 多线程服务端 和 简单客户端
10866
0
NET
| 2014-10-30 20:42
UDP是无状态的,之前的做的TCP接到客户端请求后马上做一个线程,将连接对象传递进去进行处理!但是UDP的话是没有连接对象的,只要消息包的概念!这就好像两个人在一条河边干活,TCP是架桥搬运货物,而UDP是直接把货物仍过去了,至于货物是否到达只能通过对岸的人喊一声收到了!阅读全文>>...
查看详细
Java四种线程池的使用
10604
0
理论
| 2014-8-29 22:22
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池。newFixedThreadPool 创建一个定长线程池。阅读全文>>...
查看详细
Java中信号量 Semaphore
10485
0
理论
| 2014-8-27 15:58
Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。自从5.0开始,jdk在java.util.concurrent包里提供了Semaphore 的官方实现,因此大家不需要自己去实现Semaphore。虽然JDK已经提供了相关实现,但是还是很有必要去熟悉如何使用Semaphore及其背后的原理。阅读全文>>...
查看详细
竞态条件与临界区
7602
0
理论
| 2014-8-27 15:57
当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。在临界区中使用适当的同步就可以避免竞态条件。界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。阅读全文>>...
查看详细
多线程访问 资源的安全控制
7066
0
理论
| 2014-7-30 14:22
对于线程安全,大家都知道使用synchronized控制访问的资源,有变量安全、方法安全、块安全。我这里有个需求是这样的,我这里作为服务端有很多客户端与我进行交互,服务端也会主动发消息给客户端,但是要求每次交互时只能有一个用户。也就是说发送一组信息、等待信息、处理信息返回时这个链路只能有一个人使用。阅读全文>>...
查看详细
个人资料
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
站内搜索
文章分类
Java(43)
站长(50)
开源(126)
框架(51)
理论(78)
JS(53)
Linux(12)
DB(52)
服务器(52)
NET(11)
生活(35)
软件(80)
PHP(14)
其他(5)
最新文章
SpringBoot集成Redisson实现接口限流
Lock4J分布式锁
FastJSON错误Could not read JSON: Unrecognized field
IDEA关闭属性和方法上方几个用法提示
FastJson指定Long类型序列化方式
MyBatisPlus中MetaObjectHandler的使用
强制浏览器Edge、GoogleChrome、Firefox中强制启用黑色模式
RabbitMQ延迟启动
热门文章
HTTP POST数据和数据接收
常用SpringJPA主键生成策略,UUID和自增
Apache Commons Jar包下载
SpringJPA 慎重 findAll() 切记分页
IIS服务器返回Bad Request (Invalid Hostname)解决办法
java中BigDecimal加减乘除基本用法
Byte和Bit之间的转换
java中用Eclipse打JAR包,包含外部JAR
随机文章
JDK工具-JPS命令
JDK工具-Keytool命令
JDK工具-jrunscript命令
JDK工具-jmap命令
Java代码中获取运行时内存情况
Java HashMap的工作原理(1)
Java HashMap的工作原理(2)
Java内存报错简单分类与分析