随笔分类 -  GOLANG

摘要:今天用原生的go尝试写了下爬取页面数据,并正则匹配需要的数据。 逻辑比较简单,就是启动了几十个协程进行页面爬取,然后进行正则匹配。 . 匹配除换行符以外的任意字符,要匹配换行可以用 [\S\s]*,[\d\D]*,[\w\W]* 进行匹配 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 阅读全文
posted @ 2020-10-29 20:41 塔塔尔兀格 阅读(437) 评论(0) 推荐(0)
摘要:同步,永远是多线程编程中最核心和最重要的话题.同步相关的概念比如:临界区,原子操作,以及互斥量等等 总的来说,在多个线程之间采取同步措施,无非是为了让他们更好的协同工作或者维持共享数据的一致性. 1.共享数据的一致性: 多线程程序多以共享数据作为在线程之间传递数据的手段,由于一个进程所拥有的相当一部 阅读全文
posted @ 2016-12-04 17:20 塔塔尔兀格
摘要:并发编程的思想来自多任务(多元)操作系统,多任务操作系统允许同时运行多个程序.当一个程序暂时不需要cpu的时候,系统会把改程序挂起或中断,已使其他程序可以使用cpu. 串行程序与并发程序 一个串行程序指一个只能被顺序执行的指令列表,而一个并发程序则是被并发的执行的两个或两个以上的串行程序的系统.并发 阅读全文
posted @ 2016-11-17 20:37 塔塔尔兀格
摘要:channel go语言提供的消息通信机制被称为channel. "不要通过共享内存来通信,而应该通过通信来共享内存". channel是go语言在语言级别提供的goroutine之间的通信方式.是类型相关的,一个channel只能传递一种类型的值.这个类型需要在声明channel的时候指定. 在对 阅读全文
posted @ 2016-11-06 20:31 塔塔尔兀格 阅读(209) 评论(0) 推荐(0)
摘要:协程 执行体是个抽象的概念,在操作系统层面有很多个概念与之对应,如操作系统自己掌管的进程(process),进程内的线程(thread),以及进程内的协程(coroutine,也叫轻量级线程).与传统的线程和进程比,协程的最大优势在于其"轻量级",可以轻松创建上百万而不导致系统资源耗尽,而线程和进程 阅读全文
posted @ 2016-11-06 12:25 塔塔尔兀格 阅读(148) 评论(0) 推荐(0)
摘要:优雅的并发编程范式,完善的并发支持,出色的并发性能是go语言区别于其他语言的一大特色. 1.并发基础 win和linux 出现之前,程序员并没有并发的概念.因为命令式程序设计语言是以串行为基础的,程序会顺序执行每条指令,整个过程只有一个上下文,即一个调用栈,一个堆. 并发则意味着程序在运行时有多个执 阅读全文
posted @ 2016-11-06 11:29 塔塔尔兀格 阅读(195) 评论(0) 推荐(0)