import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一、用于解决多线程安全问题的方式: * * synchronized:隐式锁 * 1. 同步代码块 * * 2.... ...
分类:
其他好文 时间:
2019-03-05 14:01:44
阅读次数:
181
下面是我个人对java单例模式的个人理解 java单例设计模式是先辈们走过很多弯路才写出来的一些方法模式,总共有二三种模式。单线程:只有这个属性为null时才能创建,构造函数私有,确保每次都只创建一个,避免重复创建。缺点:只在单线程的情况下正常运行,在多线程的情况下,就会出问题。例如:当两个线程同时 ...
分类:
编程语言 时间:
2019-02-28 21:10:22
阅读次数:
205
多条线程抢夺同一资源时,经常需要加锁,保证同一时间只能有一条线程操作一个资源。 同步锁就是互斥锁 格式:@synchronized (token) { } token:锁对象,要使用全局的对象,建议使用self {} 要加锁的代码段 注意点:加多把锁是无效的。 要注意加锁的位置。 互斥锁的优点: 能 ...
分类:
编程语言 时间:
2019-02-16 00:00:31
阅读次数:
279
golang中的channel channel用于goroutine之间的通信 如果不用channel,使用共享全局变量的方式,需要加锁 使用同步锁并发效率会很低 channel主要用于goroutine通信和解决主线程等待goroutine执行结束再退出的问题 basic concept of c ...
分类:
其他好文 时间:
2019-02-08 23:34:00
阅读次数:
286
参考博客: www.cnblogs.com/yuanchenqi/articles/5733873.html 并发:一段时间内做一些事情 并行:同时做多件事情 线程是操作系统能够进行运算调度的基本单位,一个线程就是一个指令集 IO 密集型任务或函数 计算密集型任务函数 t1 = threading. ...
分类:
编程语言 时间:
2019-01-30 07:29:58
阅读次数:
327
目录 前言 是戴套还是结扎? 方案一:调用方处理 方案二:内部处理 第一次优化:同步锁 第二次优化:双重检查加锁 第三次优化:饿汉式单例 回到顶部 前言 单例模式,这个最简单的设计模式,有无数开发者在网络上写过样本,我相信只要混过的,都能闭着眼睛把单例写出来,并不稀奇。 但是很多人写单例,都是背着写 ...
分类:
其他好文 时间:
2019-01-29 18:34:46
阅读次数:
177
同步锁 死锁 递归锁 信号量和同步evrnt对象(了解即可) 队列--生产者消费者模型 进程 ...
分类:
编程语言 时间:
2019-01-26 23:41:08
阅读次数:
174
第2天(1/16) 1、在java中守护线程和本地线程区别? 守护线程 指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何 ...
分类:
其他好文 时间:
2019-01-17 23:50:09
阅读次数:
234
1.线程理论以及线程的两种创建方法 2.线程之间是数据共享的与join方法 3.多线程和多进程的效率对比 4.数据共享的补充线程开启太快 5.线程锁 互斥锁 同步锁 6.死锁现象和递归锁 7.守护线程和守护进程的对比 8.补充 9.GIL锁&GIL锁与线程锁的区别 10.GIL锁补充 11.信号量 ...
分类:
编程语言 时间:
2019-01-14 23:15:57
阅读次数:
256
1. 线程的两种创建方式 2. 查看线程的pid 3. 验证线程之间的数据共享 4. 多进程与多线程的效率对比 # 从上述代码中的执行效率可以看出来,多线程在执行IO密集型的程序的时候速度非常快,但是执行计算密集型的程序的时候很慢,所以说python这门语言不适合做大数据. 5. 互斥锁,同步锁 6 ...
分类:
编程语言 时间:
2019-01-11 22:13:28
阅读次数:
211