zk实现分布式锁的3种方式 第1种 创建一个znode,如果创建成功,则获取到锁,操作完成,删除znode即可释放锁; 如果创建失败(抛出异常),说明锁被其它服务的线程持有,当前线程休眠一小会儿,之后重试,设置一个计数器,如果重试指定次数后还没有获取到锁,就放弃。 缺点:未获取到锁时重试多次,浪费资 ...
分类:
其他好文 时间:
2020-04-22 19:54:18
阅读次数:
63
多线程有点类似于多个程序同时运行。 其有以下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。 程序的运行速度可能加快。 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 下面是学习的代码。一些关键的点在 ...
分类:
编程语言 时间:
2020-04-22 19:52:09
阅读次数:
88
面试中经常被问到,怎么调优jvm,于是查了很多资料学习了一下,做一下总结, 1、jvm调优主要是针对垃圾回收,先要熟悉jvm内存模型,主要有堆内存,栈内存,堆内存是java对象new之后存放的区域,栈内存是java方法存放临时变量的区域,方法执行完栈内存会自动释放,垃圾回收需要清理的是堆内存 a、堆 ...
分类:
其他好文 时间:
2020-04-22 16:17:12
阅读次数:
86
项目好好的,某天启动疯狂报错: 报错很明显,数据库太多链接,应该是关闭项目后资源没有及时释放。 解决方法如下: 首先,重启MySQL服务。 进入MySQL,输入命令: show variables like 'max_connections'; 最大连接数修改大一点: set global max_ ...
分类:
数据库 时间:
2020-04-22 13:33:14
阅读次数:
1215
翻译自:https://thispointer.com//c11 multithreading part 6 need of event handling/ 在本文中,我们将讨论多线程中事件处理的需要。 有时一个线程需要等待一个事件发生,比如一个条件变为真,或者一个任务由另一个线程完成。 例如,假设 ...
分类:
编程语言 时间:
2020-04-22 12:54:28
阅读次数:
58
1. clear() 将整个 vector 都删除 使用 vectorname.clear() 可以将整个vector 中的元素全部删除,但是内存不会释放,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; ...
分类:
其他好文 时间:
2020-04-22 10:02:16
阅读次数:
56
一、指针函数:返回指针的函数 注意事项: 1.不应该返回参数的地址: 如果返回的指针保存了参数的地址,则当函数调用完成后,返回的指针引用了一个栈 外地址,函数调用完成后参数会被释放。此地址会被新的函数占用并修改。 2.不应该返回局部变量的地址: 如果返回的指针保存了局部变量的地址,则当函数调用完成后 ...
分类:
其他好文 时间:
2020-04-22 09:53:46
阅读次数:
66
windows10 的虚拟桌面挺好用的,多个桌面之间用 ctrl + win +左/右方向键 切换,于是就想把虚拟机中运行的放到第二个桌面,然后全屏...这样,切换的话,得选从虚拟机中释放控制权,然后再按 ctrl + win +左/右方向键 才能被宿主机捕获. 作为开发,linux系统是必不可少的 ...
分类:
系统相关 时间:
2020-04-22 00:14:06
阅读次数:
116
7.2.1 分区内存管理 把内存分为若干个区给用户使用 单一区存储管理 分区存储管理 固定分区 动态分区 单一区存储管理(不分区存储管理) 定义: 用户区不分区,完全被一个程序占用。例如:DOS 优点: 简单,不需要复杂硬件支持,适于单用户单任务OS 缺点: 程序运行占用整个内存,即使小程序也是如此 ...
分类:
其他好文 时间:
2020-04-21 23:57:40
阅读次数:
189