本文目录一览

1,MySQL采用多线程方式有什么优劣势

多线程增加了效率,但消耗系统资源,安全性控制也要较强

MySQL采用多线程方式有什么优劣势

2,MFC多线程

我就比较喜欢用多线程, 最简单的想法就是效率高, 比如, 我们只用一个主线程在一个程序里, 每一个时刻都在做一件事情; 而如果我们开辟了多个线程的话, 就可以在同一时刻做多件事情而互不干扰, 各自完成各自的工作。多线程就好比多任务的操作系统, 同一时刻我们既可以听音乐又可以上网, 而单线程就好比单任务的, 我们需要听完音乐再去上网, 这样花费的时间久很多了。 再比如说, 你的程序里需要不断的更新某项数据, 那你就可以为它开辟一个线程, 让它无限循环着每隔一段时间就在后台进行一次更新操作, 而主线程仍跟用户不间断的交互着, 线程是不是很方便呢? 我是这么理解的。线程还有个地方是比较通用的, 比如我们的程序中, 有个功能的实现比较耗时, 比如读取庞大的数据库中的信息,并对数据进行计算等操作, 这个耗时比较大, 那么我们就要给它开辟一个线程, 让它在后台进行, 主线程正跟用户做着其他事情的时候, 这个线程便悄悄从后台对数据进行了处理了, 这样用户就不必干等着了,感觉不到你程序运行的慢了; 一般超过5秒的等待时间都要为它开辟一个线程。就说这么多了~~
可能是执行的过快造成的吧。建议如下:1. 定义两个信号量cevent,初始化为非信号;2. 在afxbeginthread()创建线程后,加入短暂的休眠sleep()函数让线程有机会初始化。3. 在sleep函数后用waitforsingleobject等待对应线程的准备就绪信号量置位4. 在线程执行体内,准备就绪后,添加置位对应的信号量的语句。这样通过检测信号量可以使得两个线程都准备就绪,然后再开始通信。另外,请注意线程中循环体内的休眠时间,理应比通信速度要快,才能有效检测。其实最好的方法就是通过信号量等对象来控制多线程间的异步时序关系。

MFC多线程

3,多线程的程序有什么好处

因为CPU的多核化,现在越来越流行并行编程.并行编程的一个很重要的内容就是多线程,多线程的好处在于:可以使CPU多个核同时使用,令计算机效率更高效化,以前单核的机器,同时有两个线程在运行时,是先把其中某线程先执行的形式,这样无疑延长了计算所有的时间,多核的情况下,一线程可以交给一个核去处理,另一个线程可以交给另一个核去处理,这个,计算机的资源利用就大大升高.减少用户等待时间.(我们个人用的机器多是二到四核,但大型机,如服务器,或机械工程中的机器.可能有成千上万个核)多线程在什么情况下使用呢?按生活原理.当你在吃饭的时候看电视,是不是大脑在同时控制你进行着两种工作?同理,计算机也一样,比如,软件在后台处理文件的时候,同时又显示给用户看与后台处理无关的内容,这时候,我们总不能等后台处理完了,执行显示.这时候多线程的优势就很明显了.多线程主要用于计算机同时执行多个任务,而多个任务之间的执行是不互相影响的
1个主页 里面有30个模块 30个模块分别读取数据库的数据这个页面 如果不用多线程,你开打以后,会看到白页,10秒以后 所有模块一瞬间看到而多线程,打开页面的第一秒 页面就打开了 这时候 页面上只有3个模块 然后 每过1秒 漫漫的 都显示出来用户体验好
什么是多线程? 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处: 可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。
当你想要同时运行多个程序的时候,就要用到多线程
就跟Windows操作系统一样.如果不用多线程.就只能打开网页.别的就干不了了.

多线程的程序有什么好处

4,异步和多线程的区别

没有可比性。是由于使用多线程才引起的异步处理。与异步相对的还有同步,
c#中异步和多线程的区别是什么呢?异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为异步和多线程是等同的概念。但是,异步和多线程还是有一些区别的。而这些区别造成了使用异步和多线程的时机的区别。异步和多线程的区别之异步操作的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对dma这个词不陌生,硬盘、光驱的技术规格中都有明确dma的模式指标,其实网卡、声卡、显卡也是有dma功能的。dma就是直 接内存访问的意思,也就是说,拥有dma功能的硬件在和内存进行数据交换的时候可以不消耗cpu资源。只要cpu在发起数据传输时发送一个指令,硬件就开 始自己和内存交换数据,在传输完成之后硬件会触发一个中断来通知操作完成。这些无须消耗cpu时间的i/o操作正是异步操作的硬件基础。所以即使在dos 这样的单进程(而且无线程概念)系统中也同样可以发起异步的dma操作。异步和多线程的区别之线程的本质线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入cpu资源来运行和调度。异步和多线程的区别之异步操作的优缺点因为异步操作无须额外的线程负担,并且使用回调的方式进行处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少 共享变量的数量),减少了死锁的可能。当然异步操作也并非完美无暇。编写异步操作的复杂程度较高,程序主要使用回调方式进行处理,与普通人的思维方式有些 初入,而且难以调试。异步和多线程的区别之多线程的优缺点多线程的优点很明显,线程中的处理程序依然是顺序执行,符合普通人的思维习惯,所以编程简单。但是多线程的缺点也同样明显,线程的使用(滥用)会给系统带来上下文切换的额外负担。并且线程间的共享变量可能造成死锁的出现。适用范围在了解了线程与异步操作各自的优缺点之后,我们可以来探讨一下线程和异步的合理用途。我认为:当需要执行i/o操作时,使用异步操作比使用线程+同步 i/o操作更合适。i/o操作不仅包括了直接的文件、网络的读写,还包括数据库操作、web service、httprequest以及.net remoting等跨进程的调用。而线程的适用范围则是那种需要长时间cpu运算的场合,例如耗时较长的图形处理和算法执行。但是往 往由于使用线程编程的简单和符合习惯,所以很多朋友往往会使用线程来执行耗时较长的i/o操作。这样在只有少数几个并发操作的时候还无伤大雅,如果需要处 理大量的并发操作时就不合适了。

5,单线程和多线程的区别性能吞吐量

单线程就是进程只有一个线程  多线程就是进程有多个线程  多线程处理的优点  同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程。例如,文字处理器应用程序在您处理文档的同时,可以检查拼写(作为单独的任务)。由于多线程应用程序将程序划分成独立的任务,因此可以在以下方面显著提高性能:  多线程技术使程序的响应速度更快,因为用户界面可以在进行其他工作的同时一直处于活动状态。  当前没有进行处理的任务可以将处理器时间让给其他任务。  占用大量处理时间的任务可以定期将处理器时间让给其他任务。  可以随时停止任务。  可以分别设置各个任务的优先级以优化性能。  是否需要创建多线程应用程序取决于多个因素。在以下情况下,最适合采用多线程处理:  耗时或大量占用处理器的任务阻塞用户界面操作。  各个任务必须等待外部资源(如远程文件或 Internet 连接)。  例如,用于跟踪 Web 页上的链接并下载满足特定条件的文件的 Internet 应用程序“robot”。这种应用程序可以依次同步下载各个文件,也可以使用多线程同时下载多个文件。多线程方法比同步方法的效率高很多,因为即使在某些线程中远程 Web 服务器的响应非常慢,也可以下载文件。http://cache.baidu.com/c?word=%B6%E0%3B%CF%DF%B3%CC%3B%B5%C4%3B%D3%C5%B5%E3&url=http%3A//www%2Edaima%2Ecom%2Ecn/Info/94/Info31410/&b=0&a=4&user=baidu#0  下面是多线程的例子  还在Dos时代,人们就在寻求一种多任务的实现。于是出现了TSR类型的后台驻留程序,比较有代表性的有Side Kick、Vsafe等优秀的TSR程序,这类程序的出现和应用确实给用户使用计算机带来了极大的方便,比如Side Kick,我们编程可以在不用进编辑程序的状态下,一边编辑源程序,一边编译运行,非常方便。但是,Dos单任务操作系统的致命缺陷注定了在Dos下不可能开发出真正的多任务程序。进入Windows3.1时代,这种情况依然没有根本的改变,一次应用只能做一件事。比如数据库查询,除非应用编得很好,在查询期间整个系统将不响应用户的输入。  进入了Windows NT和Windows 9x时代,情况就有了彻底的改观,操作系统从真正意义上实现了多任务(严格地说,Win9x还算不上)。一个应用程序,在需要的时候可以有许多个执行线程,每个线程就是一个小的执行程序,操作系统自动使各个线程共享CPU资源,确保任一线程都不能使系统死锁。这样,在编程的时候,可以把费时间的任务移到后台,在前台用另一个线程接受用户的输入。对那些对实时性要求比较高的编程任务,如网络客户服务、串行通信等应用时,多线程的实现无疑大大地增强了程序的可用性和稳固性。

文章TAG:数据  数据库  多线程  程有  数据库多线程有哪些优点  
下一篇