进程与线程的差别
进程是程序的一次执行。线程可以理解为进程中执行的一段程序片段。在一个多任务环境下中下面的概念可以帮助我们理解两者的区别。
进程间是独立的,这表现在内存空间,上下文环境上;线程运行在进程空间里。一般来讲(不使用特殊技术),进程无法突破进程边界存取其它进程内的存储空间;而线程由于处于线程空间内,所以同一进程所产生的线程共享内一内存空间。同一进程中的两段代码不能够同时执行,除非引入线程。
线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。线程占用的资源要少于进程所占用的资料。
进程和线程都可以有优先级。
进程间通信的方式
现在最常用进程间通信的方式有信号,信号量,消息队列,共享内存。
线程同步的方法
临界区,互斥量,信号量,事件。
DLL 文件的作用
(1)拓展应用程序
(2)便于程序员合作
(3)节省内存
(4)共享程序资源
(5)解决应用程序本地化问题
什么是存储过程?
存储过程是一组为了完成特定功能的 SQL 语句集。
什么是触发器?
触发器是一个特殊的存储过程,它的执行不是由程序调动,也不由手工启动,而是由事件来触发。
什么是事务?
事务是访问并可能更新数据库中各种数据项的一个程序执行单元。
(在关系数据库中,一个事务可以是一条SQL语句,一组 SQL 语句或整个程序)
事务的几个特性
(1)一致性:将事务中所做的操作捆绑成一个原子单元,即对于事务所进行的数据修改等操作,要么全部执行,要么全部不执行。
(2)原子性:事务在完成时,必须使所有的数据都保持一致状态,而且在相关数据中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构都应该是正确的。
(3)隔离性:由并发事务所做的修改必须与任何其他事务所做的修改相隔离。事务查看数据时数据所处的状态,要么是被另一并发事务修改之前的状态,要么是被另一并发事务修改之后的状态。即事务不会查看由另一个并发事务正在修改的数据。这种隔离方式也叫可串行性。
(4)持久性:事务完成之后,它对系统的影响是永久的,即使出现系统故障也是如此。
什么是 ADO?它与 ODBC 比起来哪种方式快?
ADO(ActiveX Data Objects)是一个用于存取数据源的 COM 组件。它提供了编程语言和统一数据访问方式的 OLE DB 的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。
ADO 更快。(这个网上争议很多)