#同步或锁

      更多分类

每个锁创建多个条件队列以避免虚假唤醒

19-05-25 13 banq

多个条件队列以实现更好的并发性。每个锁使用单独的条件队列的优点。 它避免了虚假的唤醒和上下文切换。例如,如果您使用notifyAll进行传统等待,则最终会唤醒正在等待不同条件的线程。 当您在... 详细

MySQL死锁案例 – Learn. Write. Repeat.

19-04-26 51 banq

无论你是DBA还是开发人员,你都会对死锁感到不耐烦,一些死锁需要几天的时间来修复,它们很难重现,其中一些只能在生产prod机器上重现。在不知道发生了什么情况下盲目修复并不罕见,你只能假设问题出在哪里... 详细

读写锁(Reader Writer Lock)

19-04-24 50 jdon

目的 假设我们有一个共享内存区域,上面详细介绍了基本约束。可以保护互斥锁后面的共享数据,在这种情况下,没有两个线程可以同时访问数据。但是,此解决方案不是最理想的,因为读取器R1可能具有锁定,... 详细

半同步/半异步模式

19-04-11 62 jdon

目的 半同步/半异步模式将同步I/O与系统中的异步I/O分离,以简化并发编程工作,且不会降低执行效率。 将并发软件的服务分解为同步和异步两个独立的层,并添加一个排队层来协调它们之间的通信。 在... 详细

如何避免死锁和活锁? - simar

19-04-03 59 banq

死锁只能在并发(多线程)程序中发生,其中同步(使用锁)线程访问一个或多个共享资源(变量和对象)或指令集(临界区)。 活锁时当我们试图避免死锁时会使用异步锁定时发生的,其中多个线程对同一组锁的竞争写操... 详细

Java多线程傻瓜入门介绍

19-03-12 61 banq

现代计算机能够同时执行多个操作。在硬件改进和更智能的操作系统的支持下,多个操作的功能使您的程序在执行速度和响应速度方面运行得更快。 编写利用这种功能的软件既迷人又棘手:它要求您了解计算机引擎盖下发生... 详细

Java 锁

16-12-04 154 yunduan

什么是线程安全? 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个... 详细

使用Apache Ignite实现无死锁事务

16-09-22 1386 1 banq

死锁会杀死服务,我们看看Apache Ignite通过分配数字到事务是如何实现无死锁的事务的。 在多用户环境中,对于缓存内存中同一条数据或对象进行并发事务操作时会引发死锁,这是性能杀手,一旦系统进入... 详细

替代传统事务的并发建议

16-04-26 3214 5 banq

增删改查是大部分框架的功能,如果有两个并发请求修改同一个数据怎么办?或者插入本来应该是唯一却重复的数据怎么办?或者插入和修改有其他辅助动作比如保存到另外的表比如校订审计日志。 你会首先想到“事务”,... 详细

看了这篇有关Go语言的Channel文章,整个人都感觉不好了

16-03-03 5234 10 banq

Go的Channel是一个很强大的并发数据模型,在一个发送者和多个消费者情况下工作得最好,但是如果是多个发送者,那么在Channel关闭时需要协调多个发送者,等待它们发送消费完毕,同时也会导致一个Ch... 详细

Go 1.5的并发特性与案例

15-07-18 5 2037 2 banq

Go语言最有用的特性是将并发作为第一支持的语言,使用协程goroutine, 非常容易实现代码的并发,这使得Go成为网络类应用的重要选择,本文以银行转账为例,阐述了Go 1.5新版本中如何使用协程实现... 详细

不变性immutablity设计 回复

15-06-02 2 216 sinaID73652

楼主,事实上我看了帖子后还是比较混乱,不明白immutablity是怎么解决并发问题的,请楼主指教。 我看了帖子后大概理解是, 值对象类似于栈上的值数据,只有自己的线程可以访问和修改,不同线程拥有的... 详细

线程等待两种方法的唤醒的效率比较

15-04-19 3 802 abaddoncoder

一直认为无锁比有锁快,性能更高,可是以下这个线程等待测试结果,却跟自己想得不一样: public class CallResult { private volat... 详细

Java线程安全实现懒初始化两个方式

15-01-30 640 banq

Java中以线程安全方式实现懒初始化对象有很多写法,这里不讨论针对全局单例场景,而是讨论缓存的使用场景,通常为了提高性能,我们经常通过key/对象形式将对象保存到内存中,具体来说,首先我们需要检查缓存... 详细

现代数据库的接口需要进一步开放

15-01-19 1 120 liangshan

anycmd认为传输协议、传输管道就是只有主体和被主体携带的客体才可以穿越的虫洞。虫洞在那棵树上只是一个点。虫洞处在那棵树的维度之外,不是客体在那个虫洞上穿越,不是客体在通过传输基础设施在树上穿越,而... 详细

共有 631 2 3 4 ... 5 下一页