Categorized | 网络技术

线程中使用正则表达式cpu占用100%解决方案

发布于 2014年05月29日 更新于 2014年05月29日 

如果线程中使用了正则表达式,程序运行中发现cpu占用率达到100%,电脑基本处于卡死的状态,基本上可以判断为正则表达式无法与目标数据匹配,正则表达式的写法有问题,程序会一直处于匹配中,这时候软件并不会出错,而是表现为cpu占用率100%。。。

正则表达式

调试此类问题步骤:

1、因为当cpu占用率100%时,基本无法调试了,电脑非常卡,必须降cpu。可以设置程序的cpu亲和性,绑定某一个cpu内核(现在大部分电脑都是双核以上机器了吧);或者直接在任务管理器里–找到程序进程名–右击–设置相关性–绑定某一个内核即可,这样cpu占用率最高也不会超过内核数的几分之一。

2、然后使用单线程调试,多线程也可,不过数据要归好类,对采样的数据进行正则匹配测试,可以在notepad++中测试正则写法,或者一些在线测试工具也可。

3、注意正则表达式的贪婪、非贪婪写法,比如javascript默认是开启贪婪模式的,往往一个?能极大的提高匹配效率。

4、注意排查每次源匹配数据是否变化,这个是重点。。

看了此文的人貌似还看了这些:

  • 密码保护:Mindjet MindManager2016 可用版 2017-03-06
  • wordpress如何给read more和comment评论链接添加nofollow? 2013-08-26
  • 易语言curl支持库与WinHttpRequest、WinInet、互联网支持库http访问对比测试 2014-04-30
  • Amazon EC2的V-P-N-PPTP搭建教程(on aws redhat6.5 X64) 2014-10-20
  • 谷歌全球IP奉上! 2014-06-13
  • 360极速浏览器在chrome商店无法安装插件提示不支持版本的解决方法 2014-07-11
  • winhttp api和com对象版区别 2017-05-10
  • lnmp下mysql 5.6内存占用过高解决方法 2015-11-02
  • 密码保护:出场教程 2017-10-24
  • windows多进程间数据通信:内存映射 2015-05-19
  • 发表评论

    Time limit is exhausted. Please reload CAPTCHA.

       我相信你,不会发广告!

    斗牛SEO工具