大文件关键字搜索, 一个8G多的文件单线程只要27秒, 多线程反而要一分多钟??? [问题点数:50分]

Bbs6
本版专家分:6904
结帖率 99.15%
Bbs10
本版专家分:172083
Blank
红花 2018年7月 VC/MFC大版内专家分月排行榜第一
2017年10月 VC/MFC大版内专家分月排行榜第一
2016年3月 VC/MFC大版内专家分月排行榜第一
2014年10月 VC/MFC大版内专家分月排行榜第一
2014年9月 VC/MFC大版内专家分月排行榜第一
2014年7月 VC/MFC大版内专家分月排行榜第一
2014年6月 VC/MFC大版内专家分月排行榜第一
2014年5月 VC/MFC大版内专家分月排行榜第一
2014年4月 VC/MFC大版内专家分月排行榜第一
2014年2月 VC/MFC大版内专家分月排行榜第一
2013年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2019年7月 VC/MFC大版内专家分月排行榜第二
2019年6月 VC/MFC大版内专家分月排行榜第二
2019年5月 VC/MFC大版内专家分月排行榜第二
2019年4月 VC/MFC大版内专家分月排行榜第二
2019年3月 VC/MFC大版内专家分月排行榜第二
2018年10月 VC/MFC大版内专家分月排行榜第二
2018年9月 VC/MFC大版内专家分月排行榜第二
2018年8月 VC/MFC大版内专家分月排行榜第二
2018年5月 VC/MFC大版内专家分月排行榜第二
2017年12月 VC/MFC大版内专家分月排行榜第二
2017年6月 VC/MFC大版内专家分月排行榜第二
2017年5月 VC/MFC大版内专家分月排行榜第二
2017年1月 VC/MFC大版内专家分月排行榜第二
2016年11月 VC/MFC大版内专家分月排行榜第二
2016年4月 VC/MFC大版内专家分月排行榜第二
2014年11月 VC/MFC大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第二
2013年10月 VC/MFC大版内专家分月排行榜第二
2013年9月 VC/MFC大版内专家分月排行榜第二
2013年6月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第二
2012年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2018年11月 VC/MFC大版内专家分月排行榜第三
2018年6月 VC/MFC大版内专家分月排行榜第三
2018年4月 VC/MFC大版内专家分月排行榜第三
2018年3月 VC/MFC大版内专家分月排行榜第三
2018年2月 VC/MFC大版内专家分月排行榜第三
2018年1月 VC/MFC大版内专家分月排行榜第三
2017年11月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第三
2017年8月 VC/MFC大版内专家分月排行榜第三
2017年4月 VC/MFC大版内专家分月排行榜第三
2016年12月 VC/MFC大版内专家分月排行榜第三
2016年10月 VC/MFC大版内专家分月排行榜第三
2016年2月 VC/MFC大版内专家分月排行榜第三
2015年10月 VC/MFC大版内专家分月排行榜第三
2015年7月 VC/MFC大版内专家分月排行榜第三
2012年10月 VC/MFC大版内专家分月排行榜第三
Bbs6
本版专家分:6904
Bbs10
本版专家分:138201
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
银牌 2019年7月 总版技术专家分月排行榜第二
2019年5月 总版技术专家分月排行榜第二
Blank
铜牌 2019年4月 总版技术专家分月排行榜第三
2019年3月 总版技术专家分月排行榜第三
Blank
红花 2019年7月 VC/MFC大版内专家分月排行榜第一
2019年6月 VC/MFC大版内专家分月排行榜第一
2019年5月 VC/MFC大版内专家分月排行榜第一
2019年4月 VC/MFC大版内专家分月排行榜第一
2019年3月 VC/MFC大版内专家分月排行榜第一
2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Bbs10
本版专家分:138201
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
银牌 2019年7月 总版技术专家分月排行榜第二
2019年5月 总版技术专家分月排行榜第二
Blank
铜牌 2019年4月 总版技术专家分月排行榜第三
2019年3月 总版技术专家分月排行榜第三
Blank
红花 2019年7月 VC/MFC大版内专家分月排行榜第一
2019年6月 VC/MFC大版内专家分月排行榜第一
2019年5月 VC/MFC大版内专家分月排行榜第一
2019年4月 VC/MFC大版内专家分月排行榜第一
2019年3月 VC/MFC大版内专家分月排行榜第一
2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Bbs10
本版专家分:172083
Blank
红花 2018年7月 VC/MFC大版内专家分月排行榜第一
2017年10月 VC/MFC大版内专家分月排行榜第一
2016年3月 VC/MFC大版内专家分月排行榜第一
2014年10月 VC/MFC大版内专家分月排行榜第一
2014年9月 VC/MFC大版内专家分月排行榜第一
2014年7月 VC/MFC大版内专家分月排行榜第一
2014年6月 VC/MFC大版内专家分月排行榜第一
2014年5月 VC/MFC大版内专家分月排行榜第一
2014年4月 VC/MFC大版内专家分月排行榜第一
2014年2月 VC/MFC大版内专家分月排行榜第一
2013年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2019年7月 VC/MFC大版内专家分月排行榜第二
2019年6月 VC/MFC大版内专家分月排行榜第二
2019年5月 VC/MFC大版内专家分月排行榜第二
2019年4月 VC/MFC大版内专家分月排行榜第二
2019年3月 VC/MFC大版内专家分月排行榜第二
2018年10月 VC/MFC大版内专家分月排行榜第二
2018年9月 VC/MFC大版内专家分月排行榜第二
2018年8月 VC/MFC大版内专家分月排行榜第二
2018年5月 VC/MFC大版内专家分月排行榜第二
2017年12月 VC/MFC大版内专家分月排行榜第二
2017年6月 VC/MFC大版内专家分月排行榜第二
2017年5月 VC/MFC大版内专家分月排行榜第二
2017年1月 VC/MFC大版内专家分月排行榜第二
2016年11月 VC/MFC大版内专家分月排行榜第二
2016年4月 VC/MFC大版内专家分月排行榜第二
2014年11月 VC/MFC大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第二
2013年10月 VC/MFC大版内专家分月排行榜第二
2013年9月 VC/MFC大版内专家分月排行榜第二
2013年6月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第二
2012年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2018年11月 VC/MFC大版内专家分月排行榜第三
2018年6月 VC/MFC大版内专家分月排行榜第三
2018年4月 VC/MFC大版内专家分月排行榜第三
2018年3月 VC/MFC大版内专家分月排行榜第三
2018年2月 VC/MFC大版内专家分月排行榜第三
2018年1月 VC/MFC大版内专家分月排行榜第三
2017年11月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第三
2017年8月 VC/MFC大版内专家分月排行榜第三
2017年4月 VC/MFC大版内专家分月排行榜第三
2016年12月 VC/MFC大版内专家分月排行榜第三
2016年10月 VC/MFC大版内专家分月排行榜第三
2016年2月 VC/MFC大版内专家分月排行榜第三
2015年10月 VC/MFC大版内专家分月排行榜第三
2015年7月 VC/MFC大版内专家分月排行榜第三
2012年10月 VC/MFC大版内专家分月排行榜第三
Bbs5
本版专家分:2109
文件关键字搜索
1、<em>大<em>文件</em></em>内,<em>关键字</em><em>搜索</em>。rn2、将<em>关键字</em>上下10kb左右的内容提取出来。rn3、<em>文件</em>大小在100MB,rn4、速度要控制在1秒左右rnrn不知各位有什么比较好的办法,正在研究lucene 框架,但是lucene对于 如何提取<em>文件</em>内容还没有研究出来
关键字搜索msoffice文件
用<em>关键字</em><em>搜索</em>msoffice<em>文件</em> 支持 xls doc等<em>文件</em>类型
圣诞地图BUG,只要一分~!
针对3.0圣诞地图的BUG,就<em>一分</em>!<em>只要</em><em>一分</em>!~BUG
java 单线程读取文件10G
思考:如果不考虑<em>多线程</em>,分布式的话,要高效的毒如和写出<em>大<em>文件</em></em>,主要是解决读<em>文件</em>和写<em>文件</em>的磁盘IO问题,通过批量读取和批量写出来实现。 /* * 该方法实现了批量输入,批量输出。 * 输入<em>文件</em>大小:15G(31036260行),输出<em>文件</em>大小:4.1G(31036260行),insize=200M,outPerCount=10000 * --begin:2017-06-1
文件单线程多线程读取问题的想法,希望大家能指点s
目前我在出来<em>一个</em>10G左右的<em>一个</em><em>文件</em>。需要从硬盘读到内存,想确定到底<em>单线程</em>读取快还是<em>多线程</em>快。rnrn操作系统的IO部分,从硬盘中读一段<em>文件</em>到内存,buffer, 然后线程读取buffer里的内容。当线程(不管<em>多线程</em>还是<em>单线程</em>)处理完内存里数据读取的工作,要等待硬盘的读取这个过程(内存的response time 要大于硬盘),所以这块是读取过程的瓶颈。就不用考虑了。rnrn主要问题是线程处理buffer里的数据。这段是<em>多线程</em>快还是<em>单线程</em>快?目前是8核的处理器,Ubuntu系统。rn读的操作是把一段数据存在链表里,有<em>一个</em>建表的过程。需要一定的时间。rn[color=#FF0000]所以到底是线程调度时间大,还是建表存数据的时间大?[/color]rnrn希望大神指点。rnrnrnrn
单线程多线程,线程池方法文件指定单词数量统计
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Exec
怎样用jsp做一个简单的关键字全文搜索只要搜索一个目录中的文件即可(全是.htm文件
怎样用jsp做<em>一个</em>简单的<em>关键字</em>全文<em>搜索</em>,<em>只要</em><em>搜索</em><em>一个</em>目录中的<em>文件</em>即可(全是.htm<em>文件</em>)rn谢谢!!rn急用!!
.zip和.rar文件关键字搜索!!
我想对.zip和.rar<em>文件</em>的正文<em>关键字</em>进行<em>搜索</em>,请问一下.zip和.rar<em>文件</em>的结构是什么样的啊?怎样定位到这些压缩<em>文件</em>中的正文部分啊?具体代码是什么?请大家帮帮忙,谢谢!
批量搜索关键字在指定的文件
自己写了<em>一个</em>批量<em>搜索</em>的小程序。该程序可以<em>搜索</em>指定的<em>关键字</em>在指定的目录的所有<em>文件</em>,包括子目录。该程序有个不只是简单的同步程序,添加了异步线程的功能。可以在大量的<em>文件</em><em>搜索</em>中保证用户界面的正常响应。 注:至少用Visual Studio 2012 打开,且保证.NET Framework 是3.5
超级文件切割刀,可切割8G以上文件
真正的超级<em>文件</em>切割刀,可要割8G以上<em>大<em>文件</em></em>。很难找到如此强大的<em>文件</em>切割刀。
一对多的反查询
现有rn[code=XML]rn表1 rnreqeustfilesystemrn字段 rnfileid(主键) requestfilenamern1 abrn2 bcrn表2rnprogramfilesystemrn字段rnexeid(主键) fileid(和表1的对应) programfilenamern1 1 a.docrn2 1 b.docrn3 2 a.docrn-------------------rn其中*id都为数值型rn[/code]rnrn我想实现表2中相同fileid在更新programfilename时能够检测存在,rn如我要将b.doc改成a.doc,会提示ab中已经存在a.doc你不能再添加相同;rn由于bc和ab的fileid不同所以在更新时不提示.rnrn我现在只知道exeid=2和要把exeid=2的programfilename更新为"a.doc"rn我想要一句sql语句实现,现有两种想法rnrn一.我根据exeid=2反查询表1的fileid,然后查找"a.doc"在表2中(对应表1的fileid)是否存在,我写的语句如下,但是实现不了,只能查询出"b.doc"[我觉得我这个想法绕的很远]rn[code=SQL]select a.programfilename from programfilesystem as a where a.fileid=(select fileid from requestfilesystem as b where a.exeid=2 and a.fileid=b.fileid)rn这一句的结果相当于rnselect programfilename from programfilesystem where exeid=2rn我居然不明白为什么这样rn[/code]rnrn二.我不需要查询fileid,我只需要找表2中与exeid=2相同fileid的记录是否存在"a.doc",这可能需要内连接,但是我不会写.rnrnrn请大神们指点一二,或者有更好的想法也告诉我,谢谢了.rnrn
VC++多线程单线程
不好的地方需大家多多指教! 这个是<em>多线程</em>和<em>单线程</em>的例子!比较简单! *********************************************
JAVA单线程多线程
<em>单线程</em> <em>单线程</em> <em>单线程</em> <em>单线程</em> <em>单线程</em> <em>单线程</em>
单线程多线程的区别
  <em>单线程</em>与<em>多线程</em>的区别 2018年07月02日 13:33:12 function__ 阅读数:390更多 个人分类: JS 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/function__/article/details/80883084 什么是进程? 当<em>一个</em>程序开始运行时,它就是<em>一个</em>进程,进程包括运行中的程序和程序所使用到的内存...
JavaScript单线程还是多线程
NULL 博文链接:https://baiyejianxin.iteye.com/blog/1295730
python 单线程多线程爬虫
帮别人写爬虫,先是<em>单线程</em>,太慢,改了<em>多线程</em> 1.<em>单线程</em> import urllib import urllib.request import requests import xlwt import re import string def set_style(name,height,bold=False): style = xlwt.XFStyle() # 初始化样式 font
ROS 单线程多线程
参考资料: https://www.cnblogs.com/liu-fa/p/5925381.html https://www.cnblogs.com/feixiao5566/p/5288206.html http://wiki.ros.org/roscpp/Overview/Callbacks%20and%20Spinning https://blog.csdn.net/shiyue00...
Redis单线程还是多线程
redis是<em>单线程</em>,线程安全 redis可以能够快速执行的原因: (1) 绝大部分请求是纯粹的内存操作(非常快速) (2) 采用<em>单线程</em>,避免了不必要的上下文切换和竞争条件 (3) 非阻塞IO - IO多路复用(IO 多路复用是什么意思?) IO多路复用中有三种方式:select,poll,epoll。需要注意的是,select,poll是线程不安全的,epoll是线程安全的 redis内部...
Python——单线程多线程
import requests import time link_list = [] with open ("C:/Users/Administrator/Desktop/alexa.txt") as file: file_list = file.readlines() for eachone in file_list: link = eachone.sp...
多线程单线程下的单例
在<em>单线程</em>下的单例: 定义<em>一个</em>测试类: public class Test{ public static final Test INSTANCE = new Test(); private Test(){} //将构造函数设为私有不可在创建实例            }   在<em>多线程</em>下的单例: 定义<em>一个</em>测试类: public class Test{ private static T
python的单线程多线程时间比较
test1.py...执行完时间3秒钟 (用<em>多线程</em>) #test1.py import time import threading def sing(a): print ('sing get arg is %s' %a) for x in range(0,3): print 'sing fun ' time.sleep(1) def dance(a): print (...
单线程多线程的迷惑?????
建两个socket,<em>一个</em>用于发送,<em>一个</em>用于接收,但是在<em>单线程</em>的程序中,是不是同一时刻只能在<em>一个</em>socket在操作?那样的话是不是建两个没有意义?
单线程多线程、基于事件驱动的单线程 理解
事件:事件是 人为的消息:消息是系统给封装的。即:系统会把事件封装成为<em>一个</em>消息 监听事件的发生,以及将事件封装成消息,都是由系统来做的。 将消息放到消息队列,人为的通过函数也可以。 MFC中事件驱动图解。 为什么基于事件驱动的<em>单线程</em>程序可以不堵塞 ?    因为事件监听的部分由操作系统来完成了,当事件来的时候,操作系统会将其会放消息 队列, 然后程序再去循环检索后,会直接将任务执行完。<em>单线程</em>、多...
Java单线程多线程详解
<em>单线程</em> package com; public class SingletonThread { public static void main(String[] args) { // TODO Auto-generated method stub Thread thread = Thread.currentThread(); thread.setName("<em>单线程</em>");
单线程生产,多线程消费
#include #include #include #include #include #include #include #include #include #define THREAD_NUM 10 using namespace std; pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_
java单线程多线程clientserver
java<em>单线程</em><em>多线程</em>clientserver
多线程单线程效率问题!
承接上<em>一个</em>帖子rn[url=http://bbs.csdn.net/topics/391023458][/url]rn针对我的提问很多人给出了方法,我随便试了<em>一个</em>,rn不过上个帖子是我想多了,是我把问题想复杂了....rn不过我还有<em>一个</em>问题就是,我用<em>单线程</em>测试的时间和多线测试的时间几乎差不多rn[code=csharp]rn private void Form1_Load(object sender, EventArgs e)rn rnrn for (int i = 0; i < 10000; i++)rn rn tasks[i] = "任务" + (i + 1);//加载模拟的任务 实际业务当中有很多代码 这里只是模拟rn rn rn Stopwatch timer = new Stopwatch();//new<em>一个</em>stopwatchrn string[] tasks = new string[10000];rn private void button2_Click(object sender, EventArgs e)rn rnrn timer.Start();//开始计算时间rn //for (var i = 0; i < 12; i++)//注释了这句代码 就是<em>单线程</em>,但是执行的时间和<em>多线程</em>几乎一样,多次测试都是rn new Thread(h => DoIt()).Start();rn rn rn int index=0;rn int ttindex=0;rn private void DoIt()rn rn while(true)rn rn string task;rn lock (tasks)rn rn if (index >= tasks.Length) //所有任务都完成了rn rn timer.Stop();//结束点,另外stopwatch还有Reset方法,可以重置。rnrn Console.WriteLine(timer.Elapsed);//显示时间rn Console.WriteLine(timer.ElapsedMilliseconds);// 显示到毫秒rn break; rn rn task = tasks[index++];rn ttindex++;rn Console.WriteLine("索引"+ttindex);rn rn var tid = Thread.CurrentThread.ManagedThreadId;rn Console.WriteLine("正在执行0_线程id=1", task, tid);rn //Thread.Sleep(1); //随机阻塞一会儿rn Console.WriteLine("0结束", task);rn rn rn[/code]rn //for (var i = 0; i < 12; i++)//注释了这句代码 就是<em>单线程</em>,但是执行的时间和<em>多线程</em>几乎一样,多次测试都是rnrn2:还有<em>一个</em>问题rn我就<em>一个</em>普通的数组集合(DEMO就是上面的代码),很慢,因为实际业务中每循环一次 要大量计算等rn现在想换成<em>多线程</em>加快速度,之前的帖子是我想复杂了,<em>多线程</em><em>只要</em>不是两线程个同时处理某个任务就行,rn但是要<em>只要</em>处理完就数字加1 要让进度条知道 处理了多少,至于<em>多线程</em>内部先处理哪个任务不重要,要的是当前处理了多少个rnrn[code=csharp]rn for (int i = 0; i < 10000; i++)rn rn tasks[i] = "任务" + (i + 1);//加载模拟的任务 实际业务当中有很多代码 这里只是模拟rn rn[/code]rn如上 用多线 处理就行,我感觉很简单,但是问题1中 发现 <em>多线程</em>和<em>单线程</em>用的时间几乎一样啊
关于单线程多线程问题?
我想学习线程方面的知识,查了很多资料都是讲<em>多线程</em>的。线程应该有<em>单线程</em>和<em>多线程</em>之分吧?是不是<em>只要</em>我们写的程序中没有用到线程的这个程序本身就已经是<em>单线程</em>了?因为程序对CPU和操作系统来说就是<em>一个</em>进程,而<em>一个</em>进程至少包括<em>一个</em>线程?<em>只要</em>我们在写程序中用到了线程,这个程序就变为<em>多线程</em>的程序了?什么情况下需要用到<em>多线程</em>呢,那么什么情况下用<em>多线程</em>比较好呢,线程究竟有什么优点和好处呢?说来好笑我还从来没有写<em>一个</em>含线程的程序了,望大家耐心解答,分不是问题。
对于多线程单线程的区别
最近在学习c#,对于<em>多线程</em>和<em>单线程</em>的区分有一些不理解,比如说在程序中我只创建了<em>一个</em>线程这就是<em>单线程</em>嘛?程序中有两个或多个线程都在工作就是<em>多线程</em>?还是说<em>多线程</em>有自己的方法?
单线程多线程的区别?
<em>单线程</em>和<em>多线程</em>的区别?<em>多线程</em>带来的好处?在多cpu下<em>单线程</em>和<em>多线程</em>的情况?rn
单线程多线程的改造???
<em>一个</em>类中有很<em>多的</em>方法,他们都依赖于其中<em>一个</em>方法,例:rnrnclass testrn int m_nEnv;rn public void setEnv(int env)m_nEnv=nEnv;rnrn public void fun_1()rn public void fun_2()rn //...rn public void fun_n()rnrnrn在上述类中,方法fun_1()到fun_n()都依赖于setEnv()设置的参数,rn并要求在这些方法(fun_1到fun_n)执行的过程中(函数体中)参数值不被改变rnrn当然,这在<em>单线程</em>的环境下没有问题,rnrn问题是,现在这个类要在<em>多线程</em>的环境下使用,如何修改最简单、优美?rnrn目前我想到的方法有两个:rn1、在每个方法中加参数rn2、额外增加两个方法lockEnv()和unlockEnv()rnrn对于前者,感觉比较笨;对于后者不知如何实现?是否还有其它方法?rnrn精彩回答,另开帖子加分!
单线程没问题,多线程出问题
大家好,请各位高手帮忙看一下,谢谢!rnrnrn如果程序调用Go(url,depth)rn可以运行rnrn如果改用<em>多线程</em>,调用Run(url,depth)rn就会出错rnrn工程设置:debug multiThreaded dllrnrn[code=C/C++]rnbool CEngine::GetSourceHtml( const CString &theUrl, CStringBuf &buf ) rnrn CInternetFile* file = NULL;rn CInternetSession session; //当执行这个一句时,theUrl值竟然被改变了rn CString str;rn tryrn rn // 试着连接到指定URLrn file = (CInternetFile*) session.OpenURL(theUrl); rn rn catch (CInternetException* m_pException)rn rn m_pException->Delete();rn return false;rn rn buf.m_buf="";rn while( file->ReadString(str) != NULL )rn rn buf.m_buf+=str;rn rn buf.m_language = HTML_LAN_CHINESE;rn return true;rnrnrnvoid CEngine::Run(const CString &url, int depth)rn rn SetUrlAndDepth(url,depth);rn CloseHandle( CreateThread(NULL, 0, Go2, (LPVOID)this, 0, NULL) );rnrnrnDWORD WINAPI CEngine::Go2( LPVOID lpParam )rnrn CEngine *g = (CEngine*) lpParam;rn g->Go(g->m_url, g->m_depth);rn AfxMessageBox(_T("complete"));rn return 1;rnrnrnbool CEngine::Go(const CString &url, int depth)rnrn CComPtr spDispatch;rn MSHTML::IHTMLDocument2Ptr pDoc;rn CComQIPtr pDoc2;rn CComPtr pElementCol;rn CComPtr pLoct;rn CStringBuf buf;rn MSHTML::IHTMLElementCollectionPtr pCollection;rn MSHTML::IHTMLElementPtr pElement;rnrn if( depth <= 0 || !m_hash.Insert((LPCSTR)url) )rn return false;rnrn if( !GetSourceHtml(url, buf) )rn return false;rn pDoc = GetDocument(buf);rn ...rnrn[/code]
VFP 单线程 多线程 DLL !
尝试学习编译<em>一个</em>DLL,在编译时有<em>单线程</em>和<em>多线程</em>之分,不知这两个有何区别,希望各位大侠说明一下,谢谢!
Cpp--单线程多线程
很多场合之所以使用C++,一方面是由于C++编译后的native code的高效性能,另一方面是由于C++优秀的并发能力。并行方式有多进程 和<em>多线程</em>之分,本章暂且只讨论<em>多线程</em>,多进程方面的知识会在其他章节具体讨论。<em>多线程</em>是开发C++服务器程序非常重要的基础,如何根据需求具体的设计、分配线程以及线程间的通信,也是服务器程序非常重要的部分,除了能够带来程序的性能提高外,若设计失误,则可能导致程序复杂而
进程、单线程多线程
进程:如QQ.exe,LOL.exe等都是进程,也就是APP就是<em>一个</em>进程。   <em>单线程</em>:代码按调用顺序往下执行,没有出现两段代码交替运行;   <em>多线程</em>:代码可以交替运行,线程之间并发运行,每个线程是独立的。   <em>多线程</em>的应用:比如下载<em>文件</em>、应用等,就是同时开几条线程去下载,所以速度快很多。   进程和线程的区别:进程至少有<em>一个</em>或<em>一个</em>以上线程;线程存活在进程中;进程死亡,线程
java中单线程多线程
实现并启动线程有两种方法1、写<em>一个</em>类继承自Thread类,重写run方法。用start方法启动线程2、写<em>一个</em>类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动1.火车票的例子继承Thread类  在本例子当中使用了同步代码块,将共享资源放在synchronized定义的区域内,当其他线程也获取到这个锁时,必须等待锁被释...
浏览器的多线程与JS的单线程
0.前言 浏览器内核、渲染引擎和js引擎的关系: <em>一个</em>完整的浏览器包含浏览器内核和浏览器的外壳(shell)。浏览器核心——内核分成两部分:渲染引擎和js引擎。由于js引擎越来越独立,内核就倾向于只指渲染引擎,所以浏览器内核现在几乎就可以相当于渲染引擎。 浏览器内核又可以分成两部分:渲染引擎(layout engineer或者RenderingEngine)和JS引擎。 渲染引擎功能作用 渲染引擎...
node单线程多线程
结论 1)Node是使用了v8引擎的服务器端,主要采用C/C++实现底层,底层libuv为<em>多线程</em>,执行不同的I/0任务 2)Node中v8引擎的JavaScript实现事务,是<em>单线程</em>的,每<em>一个</em>请求进入线程队列,若为IO则分给线程池执行,并等待结果,否则自己执行,另外:队列在<em>单线程</em>无新的请求的时候,所有事件开始循环执行(结束出队) 图解:JavaScript所在的v8是<em>单线程</em>的,即上述2中描述的,...
多线程新浪新闻搜索网络爬虫-基于关键字
本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接) 源码获取请联系:1563178220@qq.com简介互联网有海量的新闻,如何基于<em>关键字</em>检索相关新闻,并将新闻内容存储到数据库呢,以新浪新闻为例,如下图所示,输入<em>关键字</em>爬取历史新闻,可以看到历史新闻的数量有很多,因此采用<em>单线程</em>的方式,无法满足需求,可采用<em>多线程</em>的方式采集数据。程序
程序实践三 单线程 多线程
这是我自己改编后的代码,能够成功运行的。大家可以用来参考,尤其是东大的同学们。
定时任务单线程多线程
import java.util.concurrent.Executor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.schedu...
多线程单线程的简单代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namesp...
单线程多线程和多进程的含义?
-
什么叫多线程单线程
我经常在下载的文章中看到,<em>多线程</em>和<em>单线程</em>这个概念,我一直不明白,谢谢指教
单线程多线程如何转换
单核时,有些程序不需要考虑<em>多线程</em>,那么这些程序现在可以自动转换成<em>多线程</em>程序在多核上更好的运行吗?
多线程单线程的比较
我想请教各位<em>一个</em>问题:<em>多线程</em>编程是不是适用所有的情况?如果系统任务比较繁重,各个线程频繁切换,开销一定很大的。是不是这个时候用<em>单线程</em>反而显的好一些?有没有<em>一个</em>曾经谁对这个方面做过比较?rn我所说的是<em>一个</em>进程的任务比较繁重,是不是将这个进程设置为<em>单线程</em>的,而不是<em>多线程</em>的,以避免多个线程之间频繁切换,开销变大,反而效率降低。rn谢谢各位高手。rnrnrn
java单线程多线程的区别
1.<em>单线程</em>和<em>多线程</em>的区别? 你早上上班,正要打卡的时候,手机响了。。你如果先接了电话,等接完了,在打卡,就是<em>单线程</em>。如果你一手接电话,一手打卡。就是<em>多线程</em>。这两件事的结果是一样的。。你接了电话且打了卡。 (1)最常见的<em>一个</em>线程例子: package com.ggx.thread; public class OnlyThread{ public st...
多线程(1)—单线程
1.线程: 线程时轻量级的进程 线程没有独立的地址空间 线程是有进程创建的(寄生在进程) <em>一个</em>进程可以拥有多个线程 2.线程的状态: 新建、 就绪 运行 阻塞、 死亡 3.java中<em>一个</em>类要当作线程来使用有两种方法 1.继承Thread类,并重写run函数 2.实现Runnable接口,并重写run函数 4.例子 /**1.使用方法一和方法二编写<em>一个</em>程序,该程序每隔一秒在控制台输出<em>一个</em>“He
单线程多线程是什么意思 ?
<em>多线程</em>是指程序中包含多个执行流,即在<em>一个</em>程序中可以同时运行多个不同的线程来执行不同的任务; <em>单线程</em>就只有<em>一个</em>执行流;
Python 单线程 多线程
早期的操作系统处理问题都是单任务的,同时只能执行<em>一个</em>任务,按顺序执行。 #coding=utf-8 import threading from time import ctime,sleep,clock def music(func): for i in range(2): print "I was listening to %s. %s" %(func,c
python 单线程多线程
<em>单线程</em>, 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事儿,那么一定要先排一下顺序。#coding=utf-8 import threading from time import ctime,sleepdef music(func): for i in range(2): print "I was listening to %s. %s
多线程变成单线程了?
5各类,都继承自Thread,但互相之间没有任何关系。我用主类中的方法启动它们。跟踪的结果发现ThreadGroup中一共有5个Thread,依次是Thread_1,Thread_2,Thread_3,Thread_4,Thread_5,用getState()获得的状态都是Runable,优先级都是5,但是,除了Thread_5以外,其它的Thread始终无法获得CPU时间片,感觉成了<em>单线程</em>了啊。不想这样的。rn这个有什么办法分析或者跟踪下那?
单线程多线程转换
我想把<em>一个</em>原先vc6下<em>单线程</em>的<em>一个</em>程序,添加<em>一个</em>线程来增加<em>一个</em>所需的功能rn因此我在Use run-time library里设置改为<em>多线程</em>rn这样就会有一下错误:rnLIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in LIBCMT.lib(crt0dat.obj)rn……rnLIBCMT.lib(crt0dat.obj)rnLINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:libraryrn./bin/lencod.exe : fatal error LNK1169: one or more multiply defined symbols foundrn我应该怎样处理呢,最好尽量少改动原程序
黑马程序员ADO.net(多线程单线程)
------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- <em>多线程</em>和<em>单线程</em>  线程是<em>一个</em>程序中的执行器,每个线程都有自己的专有寄存器指针,程序计数器(等),但代码区是共享的,既不同的线程可以执行同样的函数。 <em>单线程</em>:<em>单线程</em>就是进程只有<em>一个</em>线程,<em>一个</em>进程至少有<em>一个</em>线程。 缺点: 只能走<em>一个</em>线程,程序容易出现未响应状态,当正在进行<em>一个</em>线程时   ...
WinForm 单线程 多线程
很多初学者都会碰到这样的问题:rnrn循环体内改变窗体Label控件的属性,窗体会假死,值也不会变,直到循环体完了Label才会显示最后的值。设断点会发现其实Label的值已经更改了,只是UI没有重新绘制,还是老样子,如果加上label.Refresh();你会发现其实<em>单线程</em>也可以达到你想要的效果,只不过窗体还是假死状态,因为主线程这会比较忙没有空去重新Paint窗体及其控件。rnrn<em>多线程</em>不用多说,Timer是个最简单的例子,Tick事件//your code soeasyrnrn<em>多线程</em>之所以不用刷新是因为主线程空闲,<em>只要</em>Label值发生变化,就会重新绘制rn跨线程访问主窗体控件必须使用委托:rn[code=C#]rn int i = 0;rn public void test()rn rn while (i<100000)rn rn this.Invokern (rn (MethodInvoker)delegate()rn rn label1.Text = i.ToString();rn rn );rn i += 100;rn rn rn private void button1_Click(object sender, EventArgs e)rn rn Thread th = new Thread((ThreadStart)delegate()rn rn test();rn );rn th.Start();rn rn[/code]rnrn发这个的目的很简单,有进度条的,或者给用户进度提示的,如果你不想用<em>多线程</em>或者异步操作,值改变一次,你Refresh一次也可以达到效果
@Scheduled定时任务单线程多线程
资源贴:https://blog.csdn.net/u013456370/article/details/79411952 1)@Scheduled 单个方法内部<em>单线程</em>执行,不会存在前<em>一个</em>定时任务没完成,开启后<em>一个</em>定时任务的情况 例如:方法a,a的第一遍执行中途卡主了,即使a的定时时间到了a也不会再次执行,串行 2)@Scheduled 2.1)默认所有的@Scheduled方法...
多线程-单线程执行程序
package first; public class SinggleThread {     public static void main(String[] args) {         new TestThread().run();         for(int i=0;i             System.out.println("main thread is runni
python多线程(1)--单线程多线程
关于进程和线程,学过操作系统原理的人都懂。如何使用<em>多线程</em>。python是支持<em>多线程</em>的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。 python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用。 这里需要提一下的是python对线程的支持还不够完善,不能利用多CPU,但是下个版
初识多线程单线程
<em>单线程</em>[STAT] <em>多线程</em>[MTAT] using System; class Teacher {     public string Advise="努力加油!"; } class Student {     public string adviseDelegateInstance;     public int score;     public
同步和异步、单线程多线程
之前一直混淆同步和<em>单线程</em>之间的概念今就这几个概念谈一下自己的理解 1、同步(Sync) 先说一下概念:所谓同步,就是发出<em>一个</em>功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。 我理解是:同步就是1对1的关系,就是我发出了请求,在我没有的到相应的同时,我要一直等待,需要响应的一方也不可以做别的事情只能一直去给请求方作出响应,即请求方在没有的到响应的时候不再发请求让响应方去做另一...
单线程多线程socket通信
Java编写的简易socket通信,既有<em>单线程</em>socket通信也有<em>多线程</em>socket通信,可以运行
网络连接——文件下载(单线程/多线程
<em>单线程</em>下载package com.example.administrator.networkconnect;import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.os.Handler; impor
C#单线程多线程实例
C#<em>单线程</em>与<em>多线程</em>实例体现出<em>单线程</em>与<em>多线程</em>的区别
文件上传-单线程多线程
<em>大<em>文件</em></em>上传-<em>单线程</em>与<em>多线程</em>
浏览器多线程和js单线程
0.前言开发过程中遇到js线程和ui渲染线程互斥问题。导致ui无法正常更新等问题。这些问题的根源就是因为浏览器的<em>多线程</em>和js的<em>单线程</em>引起的。看本篇博客之前,应该充分理解消息队列,事件循环,同步异步任务等概念。 这些概念以前都知道,也了解<em>多线程</em>的概念。但是当遇到问题的时候,这些东西都被抛到脑后,值得深思。1.知识点补充js<em>单线程</em>js运作在浏览器中,是<em>单线程</em>的,js代码始终在<em>一个</em>线程上执行,此线程被称
单线程多线程读取文件
//实验多个线程读取多个<em>文件</em>和单个线程读取多个<em>文件</em>//当<em>文件</em>数量是2-3个时,<em>单线程</em>比<em>多线程</em>更快,可能是没有创建线程之类的开销//<em>文件</em>数量增加到10多个以后,多个线程稍微快一点,但是并没有快多少//按照网上的说法,读取<em>文件</em>的性能瓶颈是磁盘io的速度,多个线程并不能提高性能#include #include #include #include #include using namespac
pycharm单线程多线程
<em>单线程</em>   在好些年前的MS-DOS时代,操作系统处理问题都是单任务的<em>单线程</em>     在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,比如我想看两个视频,那么一定要先排一下顺序。 from time import ctime,sleep def music():     for i in range(2):         print &quot;I was listenin...
多线程单线程效率高?
在单CPU机器里,处理完同样两个任务,<em>一个</em>用<em>单线程</em>,<em>一个</em>用双线程.rn<em>单线程</em>能专注于当前工作,而又线程至少还得进行线程切换,这样一来,rn是不是<em>单线程</em>完成两个任务比双线程来完成这两个同样的任务会用较rn少的时间呢.
单线程多线程的使用
什么时候用<em>单线程</em>?什么时候用<em>多线程</em>?rn多个用户在用IO写同<em>一个</em><em>文件</em>,如果在同一时间段内,就会出现“当前<em>文件</em>已被另一进程占用”,“当前<em>文件</em>正在被使用”等并发状态。rn现在想让多个用户排队,A写完了B上,B写完了C来。而不是ABC一起上。rn那么应该是<em>单线程</em>还是<em>多线程</em>?rn思路啊~~~~啊啊啊
关于多线程单线程的比较
这样的情况:从数据库中按需要取数据放入txt<em>文件</em>保存,一共需要导出n个<em>文件</em>,刚开始设计成<em>单线程</em>的,耗时4MIN左右,想提升速度,设计成<em>多线程</em>之后耗时7MIN+,好奇怪的...!找原因中,求解惑
首页搜索-关键字搜索
"SSM整合进阶项目实战-个人博客系统开发",属于中级课程,适合于具备了一定java基础以及Spring,SpringMVC跟Mybatis核心框架的基础要点。本课程将更深入的基于SSM整合更<em>多的</em>第三方框架并实现一套比较完整的个人博客系统,其中第三方框架包括shiro,lucene,jsoup,poi,druid等等。将更好的提升个人开发企业级应用的能力以及更深入的掌握SSM项目的开发
struts1是单线程还是多线程?struts2是单线程还是多线程
想问下struts1是<em>单线程</em>还是<em>多线程</em>?struts2是<em>单线程</em>还是<em>多线程</em>?
根据关键字搜索文件夹下的文件
废话不说,上代码。就是这么好。 #include #include using namespace std; int main() {     CFileFind find;     BOOL bf = find.FindFile("p*.*");//除<em>关键字</em>外,其它均可以用 * 代替     while (bf)     {         bf = find.Fin
搜索关键字
我现在<em>搜索</em>出来的<em>关键字</em>要用其它颜色显示rn如我<em>搜索</em>出来用rnrn rn rn rnrn怎么样把下面这句替换函数加上去,求助rnrnReplace("张三",@"张三")
搜索关键字 搜索出来的关键字显示红色
public  void setTextviewColorAndBold(TextView textView, String key, String value) { if (TextUtils.isEmpty(value)) { return; } if (!TextUtils.isEmpty(key)) { SpannableStringBuilder style = new Sp
关键字搜索
<em>关键字</em><em>搜索</em> rnTime Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:3<em>27</em>68KB rnTotal submit users: 29, Accepted users: 17 rnProblem 10855 : No special judgement rnProblem description rn 我们可爱的新网站具有了全新的<em>搜索</em>功能,使用了2个通配符“*”和“?”,其中“*”表示0或者多个小写字母,“?”代表1个字母。rnrn 当我们输入<em>一个</em><em>关键字</em>的时候,我们在不确定的地方就使用通配符。我们在数据库里面有多条记录,每条记录都是由小写字母组成,现在给出<em>一个</em><em>关键字</em>,你能告诉我数据库里面有多少条与<em>关键字</em>相匹配的记录吗?rnrn 例如: 如果<em>关键字</em>是j*y*m*y?,那么jiyanmoyu,jyanmoyu,jymyu都是相匹配的记录。rnrnrn rnInput rn 多组测试数据,小于20组。rnrn 对于每组测试数据,第一行是输入的<em>关键字</em>,接下是数据库里面的所有记录的条数n,1<=10000,每条记录的长度不超过50个小写字母。rnrnrn rnOutput rn 对于每组测试数据,输出与<em>关键字</em>想匹配的总记录条数,占一行。rnrn rnSample Input rnjiyanmoyurn2rnjiyanmoyurnhuyanluanyurnji*moy?rn3rnjiyanmoyurnjimoyurnhuyanluanyurnrn rnSample Output rn1rn2rnrn rnProblem Source rn HUNNU Contest rn rnrn求大牛贴出代码 我是做了一天没做出来
一个根据关键字搜索的难题。。
请问我数据库中的Article表中有<em>一个</em>字段KeyWord,里面可保存用空格分隔的<em>一个</em>或多个<em>关键字</em>rn现在我想传入两个参数@ID和@Keyword,@Keyword里面包含一组用空格隔开的<em>关键字</em>rn然后我想获取其它文章中的KeyWord字段中包含@Keyword里多个<em>关键字</em>中的其中<em>一个</em>并且ID不等于@ID的数据行rn请问怎么做呢??rn请指教~~谢谢!~~
要把一个单线程变成多线程,难么?
-
学生信息管理系统下载
对学生信息: 学生成绩、学号、年龄等的查询、添加、删除、修改等;属于C语言、C++语言、数据结构等课程设计 相关下载链接:[url=//download.csdn.net/download/loganliu20/3889099?utm_source=bbsseo]//download.csdn.net/download/loganliu20/3889099?utm_source=bbsseo[/url]
单片机 计数器下载
光电计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。光电计数器有多种计数触发方式,它是由实际使用条件和环境决定的。有采用机械方式的接触式触发的,有采用电子传感器的非接触式触发的,光电式传感器是其中之一,它是一种非接触式电子传感器。这种计数器在工厂的生产流水线上作产品统计,有着其他计数器不可取代的优点。。本文针对光电计数器的设计要求,在实现了基本要求的基础上改加了测物体转速的功能。 相关下载链接:[url=//download.csdn.net/download/xugc380343987/4393666?utm_source=bbsseo]//download.csdn.net/download/xugc380343987/4393666?utm_source=bbsseo[/url]
3ds max 渲染技术课堂finalRender应用技法精粹.pdf下载
3ds max 渲染技术课堂finalRender应用技法精粹 相关下载链接:[url=//download.csdn.net/download/huzhouhzy/5080150?utm_source=bbsseo]//download.csdn.net/download/huzhouhzy/5080150?utm_source=bbsseo[/url]
相关热词 c#串口测试应用程序 c# 匹配 正则表达式 c#防止窗体重绘 c#读写txt文件 c#挖地雷源代码 c#弹框选项 c# 移除 队列 c# 密码写入配置文件 c# 获取可用内存大小 c# 嵌入excel编辑
我们是很有底线的