摘要:
IIS配置PHP服务步骤如下。一、PHP服务安装: 1、PHP服务安装包,解压后。 2、找到安装包中php.ini-dist文件,把文件改名为php.ini。复制文件到c:\windows目录下。 3、打开C:\windows目录下的php.ini文件,找到register_globals=off,修改成register_globals=on。 再找到extension_dir = "./",把"./"换成PHP服务解压包所在的路径(如:C:\Php)。 4、找到php5ts.dll把文件复制到C:\Windows\System32目录下面。二、IIS设 阅读全文
摘要:
.net Framework 4.0添加的一个重要功能是任务并行库(Task Parallel Library TPL),任务并行库(TPL)在两个方面对多线程进行了增强;一:简化了线程的创建和使用。二:自动利用多个处理器。任务并行库(TPL)在System.Threading.Tasks命名空间中定义,因此程序要添加对该命名空间的引用。 任务并行库(TPL)中的核心类是Task类,对于TPL来说基本执行单元由Task类而非Thread类封装,Task类不同Thread类,Task类是一个表示异步操作的抽象类,在Task类实例和执行线程之间的对应关系不一定是一对一的,因为任务的执行由任务... 阅读全文
摘要:
简单工厂模式又叫静态工厂方法模式,是属于创建型的模式, 创建型模式简单的理解就会创建对象并返回相应的实例。简单工厂模式中分类为三个:父类、子类、工厂类。父类决定了子类的具体类别,定义子类要实现的功能;子类实现了父类的功能;工厂类决定了要创建的具体子类实例然后返回该实例。作为静态工厂的使用者只需要知道 阅读全文
摘要:
一、线程池 线程池在多线程应用程序的初始化过程中创建线程的集合,当需要线程时,为新任务重用这些线程,而不是创建新的线程的过程。在这个过程中线程数量通常是固定的,这个数目取决于可用的内存和应用程序的需要,也可以增加线程数量。池的线程处理任务的过程是,当线程池中有线程空闲时分派的任务执行,当任务执行结束是线程被线程池回收(不是销毁),当有新的任务到来时,线程池再重用这些空闲可用的线程。 线程池常用用法如示例: View Code using System;using System.Collections.Generic;using System.Text;using System.Threa... 阅读全文
摘要:
上一遍线程基本概念最后一个例子中,两个线程通过同样的方法操作一个静态变量,多次运行结果一定不会相同,分析原因是两个线程在同一时刻更新nums变量,解决这个问题的方法是在同一时刻只能一个线程能更新nums值,也就是当一个线程操作nums时候另外一个或者多个线程必须等待,直到当前线程结束结变量的操作,这样就能够安全的更新变量值确保变量值安全更新,先明白两具概念。 1.临界资源,每次只允许一个线程访问的资源,上节示例是操作nums运行减法操作的方法就属于临界资源。 2.线程同步,线程间相互协调同时或者顺序运行相关代码模块。 公共语言基础结构(Common Language Infrastr... 阅读全文
摘要:
上一篇介绍了线程同步的两种方法,同步代码区和同步上下文。现在介绍第三种,手动同步。三、手动同步 .net FrameWork 提供了常见的以下几种类可用于手动同步:AutoResetEvent、ManualResetEvent、Mutex、Interlocked。 1、AutoResetEvent类。AutoResetEvent类使线程处于等待状态,直到通过调用Set()方法某事件将AutoResetEvent对象置于有信号状态为止。在AutoResetEvent事件中,如果事件有信号别的等待线程可以获得信号执行线程中工作,当获得信号的线程执行后AutoResetEvent变为无信号状... 阅读全文
摘要:
什么是多线程?多线程是应用程序中多个可以并发或顺序执行的任务,这些任务共用应用程序占有的系统资源包括内存以及其它的物理资源。一、创建线程 Thread类的构造函数由四种形式,两种使用ParameterizedThreadStart 委托实例,使用这种委托初始化的线程执行的方法可以带参数,参数在线程启动时候指定,另外两种是使用ThreadStart委托实例,使用这种委托初始化Thread实例执行的线程方法不带参数;maxStackSize指定线程堆栈大小,一般不指定堆栈大小。public Thread(ParameterizedThreadStart start);public Thread(. 阅读全文
摘要:
数据库创建 数据库命名遵循T-SQL命名规则,最长为128个字符,且区分大小写。 数据库使用的文件包括三类:主数据文件(*.mdf)、辅助数据文件(*.ndf)、日志文件(*.ldf)。 命令行方式创建数据库语法: Create DataBase DataBase_name [ /*指定数据库文件和文件组属性*/ on [primary][<filespec>[,...n]] [,<filegroup>[,...n]] ] [log on {<filespec>[,...n]}] /*指定日志文件属性*/ [c... 阅读全文
摘要:
公司项目出现一个小Bug,按照领导要求排除问题。一看代码晕了,通篇没有一个注释,就连一个/都没有见到,面对着满屏小蝌蚪,我弄死这个项目的开发者的心都有了!不过生气上火无用,还要继续工作,工作时候想到了正在看到一本书《更锋利的C#代码》,介绍代码规范信息的内容还不错。强烈建议新手们(本人也是)参考下本书或者相关的书籍。养成良好的习惯,写出规范的代码,与人于己都有利。 阅读全文
摘要:
在数据库中需要办int转换为字符串,然后和另外一个字符串拼接成新的字符串。做法是@temStr=@temStr+@num.结构报出nvarchar转换为int类型异常。原因是把字符串类型转换为int类进行算术运算,于是使用Str函数把int 转换为nvarchar类型。Str函数语法:STR ( float_expression [ , length [ , decimal ] ] ) 参数说明:(1)float_expression 可以隐式转换为 float 的表达式(2)length 总长度,包括小数点、符号、数字和空格。默认值为 10。length 参数必须是一种可以隐式转换为 int 阅读全文