提示:1. 异常和错误处理的比较: 分离错误处理代码与正常处理代码2. 什么时候抛异常:
如果方法遇到一个不知道如何处理的意外情况(abnormal condition),那么它应该抛出异常。
---》在有充足理由将某情况视为该方法的典型功能(typical functioning )部分时...
分类:
其他好文 时间:
2014-05-09 05:24:10
阅读次数:
470
双向BFS:
分别在 起点 和 终点同时进行BFS。
一般地,BFS随着层数的增加,状态数会越来越多,也就是状态数与层数呈正相关。如下图,:
若从两端同时进行BFS ,则有
显然减少的哪一些区域即为减掉的那些不必要的状态。
#include
#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-05-08 17:16:12
阅读次数:
300
通过代码可以看到,当传递过来的fetch_type是ZEND_FETCH_GLOBAL(_LOCK)时,函数使用EG(excutor_global)宏
返回了global变量的符号表地址。...
分类:
Web程序 时间:
2014-05-08 15:44:30
阅读次数:
501
一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它。也期待大家能够多分享解一些解决实际问题的内容。在我们遭遇“黑色30秒”问题的过程中,切身体会到了异步的巨大作用,于是开始逐步地用async/await改造现有代码。
分类:
其他好文 时间:
2014-05-08 15:14:28
阅读次数:
345
Synchronizationsynchronized语法可以获取锁,
当其他线程持有锁的时候该线程想要获取锁将会进入等待状态, 直到没有其他线程持有该锁显示使用 synchronized (lock)
将会获取lock对象的锁没有显示指定锁对象将会获取当前类的class对象的锁Wait and N...
分类:
编程语言 时间:
2014-05-08 12:20:52
阅读次数:
327
线程的同步 一个做完了另一个才能做 数据安全在要求数据安全时,才使用同步同步方法锁
可再方法修饰符的前面 或者后面加synchronized (监控范围) 在同步方法当中当前类的对象就是监控器的监控范围死锁 wait可以把锁放开 notify
通知wait醒来同步块要么用静态修饰对象 变量 要么用字...
分类:
编程语言 时间:
2014-05-08 08:56:16
阅读次数:
338
1 wait方法:
该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。
调用wait方法需要注意几...
分类:
编程语言 时间:
2014-05-08 01:18:35
阅读次数:
403
一概念 二创建多线程方法 三线程常用方法不完整可以自己查阅JDK文档 四线程的生命周期与转换
五同步 六竞争者消费者 七线程池 八JDK 线程工具 线程基础: 1. 创建 2. 状态切换 3. sleep与wait的区别
前者使线程阻塞固定时间后进入Runnable状态,后者使用notify后可以处...
分类:
编程语言 时间:
2014-05-07 20:08:57
阅读次数:
495
CyclicBarrier一个线程同步辅助类,它允许一组线程互相等待,直到线程数达到了CyclicBarrier初始时规定的数目时,才继续运行;CyclicBarrier和CountDownLacth不同,CyclicBarrier是当await的数量到达了设定的数量后,才继续往下执行,而...
分类:
编程语言 时间:
2014-05-07 07:54:32
阅读次数:
408
1. 标准实例
http://en.cppreference.com/w/cpp/thread/condition_variable
在cppreference提供的对 cv的例子,condition_variable和mutex都是全局变量。但是我们的程序不可能到处使用全局变量。如果把condition_variable和mutex的定义放到main函数中进去,作为局部变量,并且循环...
分类:
编程语言 时间:
2014-05-06 23:07:32
阅读次数:
434