摘要:
C#的各种使用方法的代码,在学习中整理过来的。标记一下。但是线程不是越多越好,每创建一个线程都要1MB的虚拟内存,而且,线程数量超过CPU(核心)的数量的话会有线程间的上下文切换,大概30MS的样子,这会浪费很多资源并且降低性能啊。不过C#的线程池是个不错的选择,但是最好不要给他设置上下限,因为这有可能会给任务带来阻塞。1、#region ThreadTest One public class Cell { int cellContents; // Cell对象里边的内容 bool readerFlag = false; // 状态标志,为true时可以... 阅读全文
摘要:
vs2010 调试快捷键命令名快捷键说明调试.应用代码更改Alt + F10启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改。调试.自动窗口Ctrl + D,Ctrl + A显示“自动”窗口,以查看在当前过程中,目前所执行中的变量的值。调试.全部中断Ctrl + Alt + Break临时停止执行调试会话中的所有进程。仅可用于“运行”模式。调试.在函数处中断Ctrl + D,Ctrl + N显示“新断点”对话框。调试.断点Ctrl + D,Ctrl + B显示“断点”对话框,可以在其中添加和修改断点。调试.调用堆栈Ctrl + D,Ctrl + C显示“调用堆栈”窗 阅读全文
摘要:
lock关键字lock关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。此语句的形式如下:Object thisLock = new Object();lock (thisLock){ // Critical code section}lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。lock调用块开始位置的Enter和块结束位置的Exit。通常,应避免锁定public类型,否则实例将超出代码的控制范围。常见的结构lock (this)、lock (typeof (... 阅读全文
摘要:
序:前不久使用DEV的TreeList控件,需要根据输入内容定位到对应的节点,由于树的层数不确定,先前采用递归算法遍历Tree,但总觉得别扭,个人比较反感递归函数,好比一个脱缰的野马,难以控制。理论上说,所有递归算法都可以转换为非递归算法,因此决定不使用递归,上网搜了一些资料,最终成功搞定。 遍历硬盘文件的方法与TreeList是相似的,核心所在就是使用“栈stack”这个数据结构,先把所有驱动器压栈,比如C、D、E、F、G。然后依次遍历每个驱动器,如G:\,先将其出栈,获取该目录下的所有子目录和子文件,将子目录逐个压栈,子文件直接处理。这样处理后,位于栈顶的就是子目录,它里面包含的还有内.. 阅读全文
摘要:
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。浏览器就是一个很好的多. 阅读全文
摘要:
C#多线程及控制线程数量,对for循环输出效率。虽然输出不规律,但是效率明显提高。思路:如果要删除1000条数据,只使用for循环,则一个接着一个输出。所以,把1000条数据分成seed段,每段10条数据。int seed = Convert.ToInt32(createCount.Value) % 10 == 0 ? Convert.ToInt32(createCount.Value) / 10 : Convert.ToInt32(createCount.Value) / 10 + 1;注:createCount.Value的值是具体输出数据的数量这里把数据分配给seed个线程去处理,每个线 阅读全文
摘要:
一.Crontab介绍crontab命令的功能是在一定的时间间隔调度一些命令的执行。1.1 /etc/crontab文件在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。如:[root@dave ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /et 阅读全文
摘要:
开始菜单——运行——输入“CMD”——进入命令提示符输入:E: dir ren lmf.{21EC2020-3AEA-1069-A2DD-08002B30309D} lmf因为我的文件在E盘所以输入E:dir是展开E盘ren 是重命名命令 格式是: ren name1 name2这是一种隐藏文件的方法但是有点笨了,这里只是想让大家知道文件夹也有扩展名下面是列表了,可以直接复制。我的文档(f){450D8FBA-AD25-11D0-98A8-0800361B1103}同,Exp桌面(f){ECF03A32-103D-11d2-854D-006008059367}公文包(f){85BBD920-4 阅读全文
摘要:
许多情况下,如果创建或修改一个文件,系统需要执行某些任务。例如,在一个数据库中插入平面文件的重要系统就是如此。 在这种情况下,程序必须监控目录中新建立的文件。如果目录中新建了一个文件,程序必须提取这个文件、进行解析、再把它插入到数据库中。 许多时候,这类功能要通过“调查”目录并列举上次调查后任何新建的文件来完成。在.NET Framework中,微软为开发者提供另一种连续调查一个目录中的新建文件的方法——C# FileSystemWatcher对象。 C# FileSystemWatcher对象为你完成目录监控工作。如果新建、更新或删除一个文件,FileSystemWatcher将提交一个事件 阅读全文
摘要:
TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)第一次握手: 主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由. 阅读全文