- 博客(33)
- 资源 (5)
- 收藏
- 关注
转载 SQLite 内存数据库备份到磁盘中
SQLite 一些有用的笔记。1. SQLite 内存数据库备份到磁盘中。 备份当前SQLite内存数据库(:memory:模式创建的数据库)到磁盘中,备份磁盘数据库,当然也可以用此办复制数据库。以下使用SQLite的 .Net版本。 string dbFile = @"D:\data\books.db"; SQLiteCommand cmd = conn.Cre
2011-12-16 13:40:20
6190
原创 c#接口和抽象类的区别
大家都容易把这两者搞混,我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料. 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽
2011-07-21 15:59:25
434
原创 C#中的lock关键字
前几天与同事激烈讨论了一下,有一点收获,记录起来。 首先给出MSDN的定义: lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 先来看看执行过程,代码示例如下:private static object
2011-07-21 15:36:18
1347
原创 C#组播知识
广播的一个缺点就是,会影响到所有的子网内的计算机,即使对此广播消息不感兴趣的计算机。多播可以解决这个问题。多播采用推进技术(浏览网页属于拉拔技术,同样属于推进技术的有发送Email服务)。多播也叫组播,如果用户加入某个多播组,那么,它就能够收到发往这个组的数据。组播应用D类IP地
2011-07-21 13:46:51
1201
1
原创 c# 多线程
每个对象都有一个syncblockindex,这个值指示对象的线程同步状态。 lock一个对象,相当于将对象的syncblockindex置1,表示该对象已经锁定。退出lock块代码时再将syncblockindex置0.
2011-06-01 15:54:00
311
原创 8、C#的多线程机制探索
五、互斥对象——更加灵活的同步方式有时候你会觉得上面介绍的方法好像不够用,对,我们解决了代码和资源的同步问题,解决了多线程自动化管理和定时触发的问题,但是如何控制多个线程相互之间的联系呢?例如我要到餐厅吃饭,在吃饭之前我先得等待厨师把饭菜做好,之后我开始吃饭,吃完我还得付款,付款方式可以是现金,也可以是信用卡,付款之后我才能离开。分析一下这个过程,我吃饭可以看作是主线程,厨师做饭又是
2011-05-27 22:09:00
380
原创 8、C#的多线程机制探索
下面的例程演示了ThreadPool的用法。首先程序创建了一个ManualResetEvent对象,该对象就像一个信号灯,可以利用它的信号来通知其它线程,本例中当线程池中所有线程工作都完成以后,ManualResetEvent的对象将被设置为有信号,从而通知主线程继续运行。它有几个重要的方法:Reset(),Set(),WaitOne()。初始化该对象时,用户可以指定其默认的状态(有信号/无信号
2011-05-27 22:06:00
275
原创 7、C#的多线程机制探索
大家可以看到,在上面的例程中,同步是通过等待Monitor.Pulse()来完成的。首先生产者生产了一个值,而同一时刻消费者处于等待状态,直到收到生产者的“脉冲(Pulse)”通知它生产已经完成,此后消费者进入消费状态,而生产者开始等待消费者完成操作后将调用Monitor.Pulese()发出的“脉冲”。它的执行结果很简单: Pr
2011-05-27 22:03:00
287
原创 6、C#的多线程机制探索
然后在下面这个类MonitorSample的Main()函数中我们要做的就是创建两个线程分别作为生产者和消费者,使用CellProd.ThreadRun()方法和CellCons.ThreadRun()方法对同一个Cell对象进行操作。 public class MonitorSample {
2011-05-27 22:00:00
255
原创 5、C#的多线程机制探索
首先,我们定义一个被操作的对象的类Cell,在这个类里,有两个方法:ReadFromCell()和WriteToCell。消费者线程将调用ReadFromCell()读取cellContents的内容并且显示出来,生产者进程将调用WriteToCell()方法向cellContents写入数据。 public class Cell
2011-05-27 21:57:00
292
原创 4、C#的多线程机制探索
expression代表你希望跟踪的对象,通常是对象引用。一般地,如果你想保护一个类的实例,你可以使用this;如果你希望保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以了。而statement_block就是互斥段的代码,这段代码在一个时刻内只可能被一个线程执行。 下面是一个使用lock关键字的典型例子,我将在注释里向大家说明lock关键字的用法和用途:
2011-05-27 21:53:00
322
原创 3、C#的多线程机制探索
在这里我们要注意的是其它线程都是依附于Main()函数所在的线程的,Main()函数是C#程序的入口,起始线程可以称之为主线程,如果所有的前台线程都停止了,那么主线程可以终止,而所有的后台线程都将无条件终止。而所有的线程虽然在微观上是串行执行的,但是在宏观上你完全可以认为它们在并行执行。 读者一定注意到了Thread.ThreadState这个属性,这个属性代表了线程运行时状态,在
2011-05-27 21:51:00
314
原创 2、C#的多线程机制探索
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。线程入口使程序知道该让这个线程干什么事,在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。 打开你
2011-05-27 21:46:00
283
原创 1、C#的多线程机制探索
注:本文中出现的代码均在.net Framework RC3环境中运行通过 一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本
2011-05-27 21:39:00
386
原创 c# 学习博客地址
http://www.cnblogs.com/anytao/archive/2008/07/31/must_net_21.html
2011-05-19 15:25:00
313
原创 对话框
对话框是一种用户界面,它的主要功能是输出信息和接收用户的输入。对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互.一个典型的对话框例子是选择了File-Open命令后弹出的文件对话框. 对话框是一种复杂的用户界面,本章的讨论将围绕对话框和基本控件进行。5.1对话框和控件的基本概念5.1.1对话框的基本概念对话框(Dialog)实际
2011-05-03 15:51:00
4505
原创 Visual c++学习笔记
第十六章:读和写文档--SDI应用程序一,序列化:1,序列化:对象可以被持续,即当程序退出时候它们被存盘,当程序重启时候它们又可被恢复,对象这种存盘和恢复处理过程称之为序列化。注意:MFC库中,不能利用序列化来代替数据库管理系统。与文档相关的所有对象只能在某个单独的磁盘文件中进行顺序读写,而不支持对象在磁盘文件中随机读写。2,磁盘文件和归档(Archives):
2011-04-28 20:32:00
465
原创 Visual c++学习笔记
1、CArchive类: 1> CArchive类没有基类。我们可以利用此类将对象数据保存到永久设备(如磁盘文件)上。 2> 让对象数据持久性的过程称之为串行化(或序列化) 3> 读者可以认为一个CAchive对象就是一种二进制六。一个CAchive对象以一种有效的、非冗余的格式处理二进制对象数据。 4> 创建CArchive对象前先创建一CFile类或其派生类对
2011-04-28 20:05:00
387
原创 memcopy和memmove 区别
1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和源区域有重叠
2011-04-26 13:53:00
1037
1
原创 大数据量,海量数据 处理方法总结
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论
2011-04-13 21:12:00
513
原创 海量数据处理:十道面试题与十个海量数据处理方法总结
海量数据处理:十道面试题与十个海量数据处理方法总结 作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JULY_v------------------
2011-04-13 21:05:00
250
原创 欧几里德算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b假设d是a,b的一个公约数,则有d|a, d|b,而r = a - kb,因此d|r因此d是(b,a mod b)的公约数假设d 是(b,a mod b)的
2011-04-09 23:06:00
344
原创 多线程编程
1、多线程的基本思路不是在界面线程运行费时的代码,而是专门启动一个线程(称作工作线程)来完成,界面线程只负责界面的 显示 和操作,而工作线程只负责耗时的操作过程。2、对于普通的win32应用程序来说,线程可以分为两种:界面(ui user interface)线程和工作线程。界面线程一般包括消息循 环,用来处理界面元素的消息分发和响应,并具体执行消息响
2011-03-26 22:07:00
279
原创 C结构体对齐详解
结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写
2011-03-26 19:21:00
262
原创 php表单
html表单在文本文件里创建,在浏览器窗口里显示,其中包括字段和按钮,在用户填写表单之后,浏览器对表单数据进行URL编码,并且把数据提交到服务器进行进一步的处理。 把表单数据发送到服务器的方法被称为http请求方法,它有多种方式,get和post方法是两种最常见的请求类型,它们的功能基本上是相同的,只是处理数据的方式不同。 get方法 如果表单处理不会明显地改变页面状态,我
2010-08-26 15:07:00
278
原创 html表单
html表单在文本文件里创建,在浏览器窗口里显示,其中包含字段和按钮,在用户填写表单之后,浏览器对表单数据进行URL编码,并且把数据提交到服务器进行进一步的处理。 把表单数据发送到服务器的方法被称为http请求方法,它有多种方式,get和post方法是两种最常见的请求类型,它们的功能基本上是相同的,只是处理输入数据的方式不同。 get方法 如果表单处理不会明显的改变
2010-08-25 14:21:00
370
原创 解决Warning: Cannot modify header information - headers already sent b...
信息的时候经常提示:cannot modify header information - headers already sent by (......)。其实已经实现需要的效果了,就是这个错误信息看着不爽,网上找了很多办法,综合使用得到的解决方法是1在页面顶部的php标签中加入ob_start();2在返回的信息下面加入ob_end_flush();这样就可以屏蔽错误信息的现实了
2010-08-23 16:18:00
2526
原创 网页制作需要注意的问题集锦
网页制作需要注意的问题集锦一.外观1 不要先决定网页的外观,然后强迫自已去适应它,应该从你的访客对像,你要传 达的讯息以及你的制网目标推导出一个最适合的网页架构。 2 每页排版不要太疏或用太大的字,尽量避免看你的网页时需要作很大的卷动,要 知道在一页的上部分是显眼而宝贵的地方,不要只放着几个粗大的字或图片。 3 最好不要用 800x600 以上的分辨率设计网页。
2010-08-20 12:05:00
391
原创 应用程序的跨平台考虑
如果希望开发出来的php程序不经过任何修改就可以既能在windows也能在Unix平台运行,需要做的就是:除去一切带有windows或和Unix特色的php代码。 具体来讲,大概有几个方面。(1)路径分隔符在windows中支持“/”和“/”作为路径分隔符。如“c:/a/a.php”,“c:/a/a.php"在Unix中只支持“/”作为分隔符。如果程序不加任何修
2010-08-19 16:57:00
356
原创 简单的网页html代码使用说明
(一)文字代码1、插入文字链接:文字2、段落分行: 文字文字3、文字移动:这里写文字4、文绕图文字内容5、在背景图上写文字 内容(二)图片代码1、插入图片: 2、插入图片超连接:(注意如果单独添加图片可以用这个语法,但要把图片添加连接,图片就会自动添加边框,这时就要设置边框为0。)3、图片横移动(三)音频视频和FLA
2010-08-17 13:28:00
1917
原创 php调用mysql数据库,但数据库不能显示中文呈乱码
以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8
2010-08-16 19:22:00
593
操作系统实验之单用户文件系统
2011-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人