摘要: 今天逛园子,偶然看到了“背包问题”,于是上网找了下相关资料,并写了个简单的实现方案。 何为背包问题? 简单理解,就是给了一堆物品跟一个包,每个物品都有相应的重量和价值,包有自己的承重。我们要做的就是在包的承重范围内,往包里装下价值总量最高的物品。 如何解决背包问题? 一般采用递归的方法,对每次放入物 阅读全文
posted @ 2016-12-07 19:07 阿拉斯加野狗 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Task类是.net 4.0新加进来的特性,对原有的Thread,ThreadPool做了进一步的封装,使得.net平台上的多线程编程变得更加方便。废话不多说,进入正题。 一. Task启动 Task启动主要有以下几种用法: 1.构造Task对象,启动Task 2.通过Task.Factory启动T 阅读全文
posted @ 2016-12-06 19:39 阿拉斯加野狗 阅读(231) 评论(0) 推荐(0) 编辑
摘要: AutoResetEvent和ManulResetEvent是.net中用来做线程的同步的两个类。从类名上不难看出,这两个类的区别在于一个是自动的,一个是手动的(这不是废话嘛)。两个类的实现原理大致相同,主要是初始化类对象的时候,设置一个状态位,通过判断这个状态位,决定代码是继续执行还是等待。 常用 阅读全文
posted @ 2016-11-29 20:04 阿拉斯加野狗 阅读(230) 评论(0) 推荐(0) 编辑