在 Java 发展史上曾经使用 suspend()、resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题。 解决方案可以使用以对象为目标的阻塞,即利用 Object 类的 wait()和 notify()方 法实现线程阻塞。 首先,wait、notify 方法是针对 ...
分类:
编程语言 时间:
2020-06-21 16:16:59
阅读次数:
114
Lock 接口比同步方法和同步块提供了更具扩展性的锁操作。 他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的 条件对象。 它的优势有: 可以使锁更公平 可以使线程在等待锁的时候响应中断 可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间 可以在不同的范围,以不同 ...
分类:
编程语言 时间:
2020-06-21 16:05:58
阅读次数:
57
最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁。Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行。 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成 6 种: 初始态:NEW 创建一个 Thread 对象,但还未调用 start()启动线程时,线程处 ...
分类:
编程语言 时间:
2020-06-21 14:14:33
阅读次数:
76
1 //用new动态分配float型和long型内存单元,给这些内存单元赋值,并在屏幕上显示它们的值,最后用delete释放 2 #include<iostream> 3 using namespace std; 4 int main() 5 { 6 float *pf=new float; 7 c ...
分类:
编程语言 时间:
2020-06-21 13:46:31
阅读次数:
41
互联网协议 OSI七层模型 ip+mac可以标识全世界范围内独一无二的一台计算机的位置 port可以标识一台计算机之上唯一的一个基于网络通信的应用软件 ip+mac+port:可以标识全世界范围内独一无二的一个应用软件(基于网络通信) 一、物理层 # 硬件:以太网路卡 · 调制解调器,光导纤维 · ...
分类:
其他好文 时间:
2020-06-21 00:28:51
阅读次数:
55
Java 中的 Semaphore 是一种新的同步类,它是一个计数信号。从概念上讲,从 概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release()添加一个许可,从而可能释放一个 正在阻塞的获取者。但是,不使用实际的许可对象, ...
分类:
编程语言 时间:
2020-06-20 19:21:10
阅读次数:
68
#文件元数据 一块硬盘的分区可以认为有两部分组成,保存元数据的成为节点表,用来保存属性等。 元数据中有个小指针,指向数据存放的实际空间。 ##元数据(Metadata) 又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持 ...
分类:
系统相关 时间:
2020-06-20 16:57:00
阅读次数:
50
一.删除日志文件:(不建议) 二.手动收缩: 1.数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定 2.右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在释放未使用....(默认收缩到1MB)-最后点击确定 3.最后别忘了回到第一步骤把恢复模式改为完整! 三.自动收缩: 1.为了 ...
分类:
数据库 时间:
2020-06-20 16:25:23
阅读次数:
78
1.数据库Cpu过高预警,超过80%; 原因:a.慢SQL过多,导致很多链接时间过长,导致链接不释放. 解决方法: 1.通过show full processlist查看是否存在大量SLEEP的链接,并查看时间。 造成sleep的原因有:1.客户端程序在退出之前没有调用mysql_close(). ...
分类:
其他好文 时间:
2020-06-20 16:19:09
阅读次数:
49
java中需要手动释放的资源bai常见的有以下两个:流相du关资zhi源流相关资源一般遵循:1)先开后关dao,先开的输入流,再开的输出流,通过读取输入流写入输出流中,那么应该先关输出流,再关输入流,但是一般关闭输入输出流操作都是在读写完成后的finally中执行的,所以即使先关输入流,再关输出流也 ...
分类:
编程语言 时间:
2020-06-20 15:47:04
阅读次数:
160