1.死锁 检测死锁:在等待关系的有向图中搜索循环。 产生死锁的4个必要条件: 1)互斥条件:共享资源独占访问 2)不可剥夺条件:不能强制其他线程释放资源 3)请求和保持条件:在等待申请的新的资源时,继续占有已分配的资源 4)循环等待条件:发生死锁时,存在一个循环等待的队列{P1, P2, P3, . ...
分类:
其他好文 时间:
2018-07-10 23:36:23
阅读次数:
185
c#关闭socket时,单独使用socket.close()通常会造成资源提前被释放,应该在关闭socket之前,先使用shutdown进行接受或者发送的禁用,再使用socket进行释放。 ...
Go语言开发(七)、Go语言错误处理一、defer延迟函数1、defer延迟函数简介defer在声明时不会立即执行,而是在函数return后,再按照FILO(先进后出)的原则依次执行每一个defer,一般用于异常处理、释放资源、清理数据、记录日志等。每次defer语句执行时,defer修饰的函数的返回值和参数取值会照常进行计算和保存,但是defer修饰的函数不会执行。等到上一级函数返回前,会按照d
分类:
编程语言 时间:
2018-06-19 20:41:37
阅读次数:
2529
记住: 为防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源。 两个常被使用的RAII类分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它(被复制物)指向null。 使用auto ...
分类:
编程语言 时间:
2018-06-18 13:29:41
阅读次数:
169
(一)TCP编程(1)TCP(建立连接通道)编程的客户端的开发步骤1)创建客户端的Socket对象Socket:就是客户端的Socket构造方法publicSocket(InetAddressaddress,intport)publicSocket(Stringhost,intport):创建客户端套接字对象,并且指定端口号和ip文本形式2)获取通道内的输出流对象3)给服务器端写数据4)释放资源j
分类:
编程语言 时间:
2018-06-07 17:53:02
阅读次数:
187
JUnit4使用Java5中的注解(annotation),JUnit4中常用的几个注解: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别 ...
分类:
其他好文 时间:
2018-05-26 11:50:05
阅读次数:
173
死锁: 出现死锁的原因:线程A等待线程B释放锁资源,同时线程B等待线程A释放资源 可能出现死锁的情况: 1.存在2个或者2个以上的线程 2.存在2个或者2个以上的共享资源 需求: 有2个人要看电视,狗蛋有遥控器,张三有电池。只有电池和遥控器都有了才能看电视 代码如下: 可以发现张三拿到了电池却怎么也 ...
分类:
其他好文 时间:
2018-04-28 16:50:58
阅读次数:
159
装箱:在值类型向引用类型转换时发生; 拆箱:在引用类型向值类型转换时发生; 值类型:直接将内存存储在栈内,由系统自动释放资源的数据类型; 引用类型:由类型的实际值引用(类似于指针)表示的数据类型,通俗点说就是在编程时需要new出来的变量类型都是引用型,引用类型是存放在内存的堆中; 内存堆跟栈的定义跟 ...
分类:
其他好文 时间:
2018-04-21 16:07:52
阅读次数:
166
* 变量无需事先声明 * 变量无需指定类型 * 程序猿不用关系内存管理 * 变量名会被回收 * del能够直接释放资源 1.python使用的是引用调用,而不是值调用,他使用的回收算法是引用计数算法,我以下举两个样例 x = 4 y = 4 aList = [1, 2, 3] bList = [1, ...
分类:
编程语言 时间:
2018-04-10 15:25:13
阅读次数:
161
jdbc的使用步骤 1、注册驱动2、获得连接3、获得语句执行者4、执行sql语句5、处理结果6、释放资源 1、注册驱动 因为在com.mysql.jdbc.Driver的实现类中,有一个静态代码块,即加载类的时候,会执行 静态代码块的代码。 2、获得连接 3、获得语句执行者4、执行sql语句5、处理 ...
分类:
数据库 时间:
2018-04-09 18:52:43
阅读次数:
175