花费 7 ms
非阻塞同步算法与CAS(Compare and Swap)无锁算法

锁(lock)的代价 锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放 ...

Thu Feb 13 01:27:00 CST 2014 11 59663
为什么volatile不能保证原子性而Atomic可以?

在上篇《非阻塞同步算法与CAS(Compare and Swap)无锁算法》中讲到在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作, ...

Thu Feb 20 02:25:00 CST 2014 7 35003
ConcurrentHashMap实现线程安全的原理

在ConcurrentHashMap没有出现以前,jdk使用hashtable来实现线程安全,但是hashtable是将整个hash表锁住,所以效率很低下。 ConcurrentHashMap将数据 ...

Thu May 04 06:20:00 CST 2017 0 6496
异步和非阻塞之间的区别

看了不少关于阻塞、非阻塞、同步和异步文章,我觉得这篇http://www.toxingwang.com/linux-unix/linux-basic/1712.html是讲得不错的。 以下是这篇文章 ...

Wed May 17 07:15:00 CST 2017 2 4462
来探讨一下最近面试问的ThreadLocal问题

中高级阶段开发者出去面试,应该躲不开ThreadLocal相关问题,本文就常见问题做出一些解答,欢迎留言探讨。 ThreadLocal为java并发提供了一个新的思路, 它用来存储Thread ...

Mon Nov 11 20:40:00 CST 2019 0 774
记一个有意思的面试题 → 线程交替输出问题

开心一刻 大年初一,一起嗨起来!!!   强调一句很重要的心里话:祝大家在 2021 年,健康好运,平安幸福! 问题描述   用两个线程,一个输出数字,一个输出字母,交替输出 1A2B3C ...

Sat Feb 13 16:17:00 CST 2021 6 572
JAVA中的BIO,NIO,AIO

在了解BIO,NIO,AIO之前先了解一下IO的几个概念:   1.同步       用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪, 例如自己亲自出马持银行卡到银行取钱   2.异 ...

Sun May 07 01:22:00 CST 2017 0 2705
Java多线程

多线程基础 一、创建线程 仅仅只有new Thread这种方法创建线程 Java中无法销毁一个线程,只能表现一个线程的状态。 通过thread.start()启动线程(仅仅只是通知线程启动) ...

Wed Mar 17 16:36:00 CST 2021 0 538
Java多线程总结之线程安全队列Queue

  在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue ...

Mon Dec 24 06:13:00 CST 2018 0 1095
多线程基础体系知识清单

前言 本文会介绍Java中多线程与并发的基础,适合初学者食用。 线程与进程的区别 在计算机发展初期,每台计算机是串行地执行任务的,如果碰上需要IO的地方,还需要等待长时间的用户IO,后来经过一段 ...

Mon Oct 14 19:03:00 CST 2019 0 532

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM