摘要:
线程是程序执行的基本原子单位,是进程的一个实体,是CPU调度和分派的基本单位。一个进程可以由多个线程组成。每个线程都有自己的寄存器组,堆栈,输出机制和一个私有消息队列。多线程可以实现并行的处理,避免了某一项任务长时间的占用CPU的时间,从而导致了其他线程闲置的情况。我们在进行多线程编程的时候要注意,当两个线程优先级非常高的时候,他们抢夺CPU的控制权,在线程切换的时候会消耗很多的CPU资源,会降低系统的性能。先来看一下创建线程函数:HANDLE CreateThread()
{ LPSECURITY_ATTRIBUTES LPThreadAttributes, //指向SECURITY_A.. 阅读全文
摘要:
动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。类似于分治策略。他是运筹学的一个分支,是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。动态规划算法对每个子问题只求解一次,将其结果保存在一张表中,从而避免每次遇到各个子问题时重新计算答案。动态规划算法的设计分为四个步骤:1、描述最优解的结构。2、递归定义最优解的值。3、按自底向上的方式计算最优解的值。4、由计算出的最优解的值来构造一个最优解。动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。 其中比较著名的有最短路径问题,背包问题,项目管理,网络流优化等。来看一下举例 阅读全文
摘要:
苹果官方文档对 store receipt 的介绍,根据我在sandbox 下面做的测试,基本符合~我也觉得挺奇怪的,叫工作室负责内购这块的伙计把 iap 防护做一做,他说 receipt 的键是变动的,然后就没弄了,当时我也没太在意。但后来我一想这么马虎了事真心不行,国内破解猖獗,游戏被破解的话不就相当于撒钱么?而且如果不做处理,当前的 iap free 十有八九是秒内购压力一点儿都不大~相关链接:https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide 阅读全文