问题背景: 想要协议栈给不是接口ip的报文,ipv4回复arp request,ipv6回复 ndisc solication。 涉及到的知识点: 1.守护进程(apue中有通用code) 2.raw socket抓包 3.文件读写锁 4.用户态回复数据包(参见arposion) 5.写日志 ...
分类:
其他好文 时间:
2019-03-20 10:29:16
阅读次数:
202
多线程中,对共享资源进行访问,为了防止并发引起的相关问题,通常都是引入锁的机制来处理并发问题。 获取到资源的线程A对这个资源加锁,其他线程比如B要访问这个资源首先要获得锁,而此时A持有这个资源的锁,只有等待线程A逻辑执行完,释放锁,这个时候B才能获取到资源的锁进而获取到该资源。 这个过程中,A一直持 ...
分类:
其他好文 时间:
2019-02-26 00:46:18
阅读次数:
352
Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁 上面是很多 ...
分类:
编程语言 时间:
2019-02-19 13:25:01
阅读次数:
141
protected final int tryAcquireShared(int unused) { /* * Walkthrough: * 1. If write lock held by another thread, fail. * 2. Otherwise, this thread is e ...
分类:
其他好文 时间:
2019-02-08 20:02:55
阅读次数:
197
在java并发包java.util.concurrent中,除了重入锁ReentrantLock外,读写锁ReentrantReadWriteLock也很常用。在实际开发场景中,在使用共享资源时,可能读操作远远多于写操作。这种情况下,如果对这部分共享资源能够让多个线程读的时候不受阻塞,仅仅在写的时候 ...
分类:
其他好文 时间:
2019-02-01 14:55:10
阅读次数:
156
ReetrantLock是独占锁,一次只允许一个线程访问修改共享资源。我们经常会遇到这样的情况,需要经常读取共享资源,少了修改共享资源,这个时候我们用ReentrantLock并发效果就并不是那么nice了。JUC提供了一种读写锁,为我们很好的解决这一种场景: ReadWriteLock支持 读-写 ...
分类:
其他好文 时间:
2019-01-29 00:30:17
阅读次数:
197
偏向锁不像自旋锁、读写锁或者synchronize修饰词这样的同步,它其实是JVM内置的一种锁机制,自JDK1.6后默认启用。换句话说,这种锁不是咱程序员能用代码来瞎操心的,JVM自己会去操心的。真想要瞎操心,就得改JVM的启动参数。 既然无需我们操心,那么了解一下也是好的。偏向锁偏向于第一个获得它 ...
分类:
其他好文 时间:
2019-01-28 20:15:51
阅读次数:
599
重要的并发编程概念:竞态条件、临界区、互斥量;互斥锁:注意事项和建议,死锁,示例代码;读写锁:读写锁规则,示例代码
分类:
其他好文 时间:
2019-01-24 22:59:00
阅读次数:
194
可重入读写锁 ReentrantReadWriteLock
分类:
其他好文 时间:
2019-01-21 11:24:05
阅读次数:
116
多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式;jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、读写锁)、ThreadLocal ...
分类:
编程语言 时间:
2019-01-15 14:00:41
阅读次数:
223