摘要: 准备工作 1. 通过Android SDK Manager下载extras中的Google Play services和Google Play Billing Library两个包。 2. 把下载的.aidl文件加入到你的工程中:在你的工程里建一个如下的包名com.android.vending.b阅读全文
posted @ 2016-07-07 18:15 吴筱军 阅读(920) 评论(1) 编辑
摘要: 两大特点: 1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,... 2. string库中所有的function都不会直接操作字符串,而是返回一个新的字符串。 库函数: 1、string.len,string.rep,string.upper,string.low阅读全文
posted @ 2016-04-21 17:47 吴筱军 阅读(748) 评论(0) 编辑
摘要: 同步 当多个线程共享一些数据的时候,我们就需要使用同步技术,确保一次只有一个线程访问合改变共享状态。注意,同步问题与争用和死锁有关。 例: 结果: 17176341652989144483912723851558097129745919682322000000 显然,不是我们想要的,我们期望每次运行阅读全文
posted @ 2018-04-26 17:24 吴筱军 阅读(5) 评论(0) 编辑
摘要: 死锁 为了线程安全,我们在需要的是会使用”独占锁“,但过多的锁定也会有麻烦。多个线程因为竞争资源相互等待而造成的僵局,我们称为死锁。若无外力作用,这些进程将都无法推进。在死锁中,至少有两个线程被挂起,并等待对方解除锁定。 我们先看一个小例子:在一个平面上有很多方块,有一些星星在这上面移动。基本规则就阅读全文
posted @ 2018-03-01 14:50 吴筱军 阅读(23) 评论(0) 编辑
摘要: Parallel类 Parallel类定义了for、foreach和invoke的静态方法。Parallel类使用多个任务,因此使用多个线程来完成这个作业。 Parallel.For Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Parallel.For方法,阅读全文
posted @ 2018-02-24 17:29 吴筱军 阅读(24) 评论(0) 编辑
摘要: 线程池 创建线程需要时间,如果有不同的小任务要完成,就可以事先创建许多线程,在应完成这些任务时发出请求。这个线程数最好在需要更多线程时增加,在需要释放资源时减少。 不需要自己创建这样的一个列表。该列表由ThreadPool类托管。该类会在需要时增加线程池中线程数,直到最大的线程数。 可以指定创建线程阅读全文
posted @ 2018-02-24 15:45 吴筱军 阅读(33) 评论(0) 编辑
摘要: 传递数据给一个线程 通过函数或lambda表达式包一层进行传递。 另外一种方式是传递一个参数给Thread的Start方法: 注意传递的数据的可靠性。 命名线程 线程的Name属性,用于获取或设置线程的名称。包含线程名称的字符串,或者如果未设置名称,则为 null。Name属性设置后将无法修改,尝试阅读全文
posted @ 2018-02-23 15:39 吴筱军 阅读(38) 评论(0) 编辑
摘要: 线程是怎样工作的 1.多线程由一个线程调度器来进行内部管理,一个功能是CLR常常委托给操做系统。 一个线程调度器确保所有激活的线程在执行期间被合适的分配,等待或者阻塞的线程(比如,一个独占锁或者等待用户输入)不占用CPU资源。 2.在单核电脑上,一个线程调度器让时间片在每一个激活的线程中切换。在wi阅读全文
posted @ 2018-02-23 10:45 吴筱军 阅读(240) 评论(4) 编辑
摘要: [Edit]->[Line]->[Reindent] 自动整理代码 但这个默认的命令没有快捷键,就重新定义了一下,[Preferences]->[Key Bindings]->[User]中,添加如下: { "keys": ["alt+shift+f"], "command": "reindent"阅读全文
posted @ 2017-12-05 10:07 吴筱军 阅读(13) 评论(0) 编辑
摘要: 转载自:http://www.ruanyifeng.com/blog/2010/06/ieee_floating-point_representation.html 前几天,我在读一本C语言教材,有一道例题: #include <stdio.h> void main(void){ int num=9阅读全文
posted @ 2017-10-10 11:14 吴筱军 阅读(16) 评论(0) 编辑
摘要: 题目: 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。 lua实现1: --用lua的table表示一个8位3进制数,每次循环给加1,若满足结果为10阅读全文
posted @ 2017-08-22 21:14 吴筱军 阅读(24) 评论(0) 编辑
摘要: -- params@num integer -- params@radix integer 进制基数(2~) 默认为10 -- NOTE:先不输出符号 function NumberToArray(num, radix) if type(num) ~= "number" and tonumber(num) == nil then ERROR("NumberToArray"...阅读全文
posted @ 2017-07-25 15:13 吴筱军 阅读(322) 评论(0) 编辑