句柄与指针的区别 学习C++的人都知道句柄和指针,而且我发现很多人在句柄与指针之间直接划等号,对我们来说两者都是地址,我觉的这也造成很多人将句柄和指针划等号的直接原因。 首先说指针吧。通俗一点就是地址,他是内存的编号,通过它我们可以直接对内存进行操作,只要地址不变,我们每次操作的物理位置是绝对不变,... ...
分类:
编程语言 时间:
2019-10-20 01:09:43
阅读次数:
108
1、八大数据结构及分类 1、数组 频繁查询,对存储空间要求不大,很少增加和删除的情况 2、栈 栈常应用于实现递归功能方面的场景,例如斐波那契数列 3、队列 因为队列先进先出的特点,在多线程阻塞队列管理中非常适用 4、链表 数据量较小,需要频繁增加,删除操作的场景 5、树 二叉树既有链表的好处,也有数 ...
分类:
其他好文 时间:
2019-10-17 13:44:48
阅读次数:
94
悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做 ...
分类:
其他好文 时间:
2019-10-08 22:25:47
阅读次数:
104
接上一篇文章,https://www.cnblogs.com/liumy/p/11633065.html wait方法是让当前线程等待,这里的当前线程不是指t,而是主线程。 wait会释放锁,等到其他线程调用notify方法时再继续运行。 可以看下面的例子。 下面是执行结果。 可以看到synchro ...
分类:
编程语言 时间:
2019-10-08 22:17:43
阅读次数:
166
主线程调用外部web service,没有返回时,主线程阻塞了,界面肯定假死耗时操作都是要在工作线程里面执行的。一般情况下winform调用webservice时步骤1添加服务引用 高级 添加web引用 填写url--添加web引用即可完成对webservice的引用让VS.NET环境来为我们生成服 ...
2018.08.29 13:49:42字数 478阅读 155 2018.08.29 13:49:42字数 478阅读 155 AQS核心思想 如果被请求的共享资源空闲,则将当前请求线程设置为有效的工作线程,并将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及唤醒机 ...
分类:
其他好文 时间:
2019-09-30 18:12:03
阅读次数:
83
第一.CountDownLatch 让一些线程阻塞知道另外一个线程完成一系列操作后才被唤醒CountDownLatch主要有2个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。当其他线程调用countDown方法会将计数器减一(调用countDown方法的线程不会阻塞), 当计数器的值 ...
分类:
其他好文 时间:
2019-09-22 21:57:22
阅读次数:
118
Tcp为什么3次握手 动态代理cglib优缺点 动态配置bean Cpu 密集设计线程池 放弃策略 Mysql 死锁 Redis单线程阻塞?多路复用 Mybatis 处理流程,类级别 Spring源码 ...
分类:
其他好文 时间:
2019-09-19 21:18:19
阅读次数:
68
LockSupport 和 CAS 是 Java 并发包中很多并发工具控制机制的基础,它们底层其实都是依赖 Unsafe 实现。 LockSupport 提供 park() 和 unpark() 方法实现阻塞线程和解除线程阻塞。 每个使用 LockSupport 的线程都会与一个许可(permit) ...
分类:
编程语言 时间:
2019-09-18 01:02:40
阅读次数:
101
Reference: https://time.geekbang.org/column/article/112160 背景 生产环境中可以用生产者消费者模式来实现瞬时高并发的流量削峰,然而这样做虽然缓解了消费方的压力,但生产方则会因为瞬时高并发,而发生大量线程阻塞。面对这样的情况,有什么方式可以优化 ...
分类:
编程语言 时间:
2019-09-08 09:51:18
阅读次数:
119