google base库之simplethread】的更多相关文章

// This is the base SimpleThread. You can derive from it and implement the // virtual Run method, or you can use the DelegateSimpleThread interface. class BASE_EXPORT SimpleThread : public PlatformThread::Delegate { public: class BASE_EXPORT Options…
这个类说白了就是对windows event的封装,没有什么特别的,常规做法,等侍另一线程无非就是等侍事件置信waitsingleobject,通知事件无非就是setevent,一看就明白,不就详解,写在这里只是为了这个系更的完整性 下边的示例代码注意下: // WaitableEvent *e = new WaitableEvent; // SendToOtherThread(e); // e->Wait(); // delete e;  SendToOtherThread(e); 这个应当就…
前一段时间在工作过程中遇到一个场景需要将http response中的request header中的cookie字段取出并进行解析,但是手头没有解析cookie的工具类,同时cookie的表现就是个字符串,于是想到手动分割 但是在C++的标准库中,并没有提供类似split的函数,在有些时候可能会很不方便,今天就看看google大佬是如何实现字符串的分割的. 在chromium的base库中有提供和字符串相关的函数,在base/strings/string_split.h和base/string…
错误提示: >colmap.lib(matching.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > * __cdecl google::base::CheckOpMessageBuilder::ForVar1(void)" (__imp_?ForVar1@…
base库中比较有意思就是这个类了,如同很多界面库一样,创建了一个隐藏窗口来处理需要在界面线程处理的消息,大体原理也就是需要执行task的时候发送一个自定义的消息,当窗口接收到task的时候调用保存起来的回调函数,还有的是通过把回调放在消息结构体里面 自下义的消息 // Message sent to get an additional time slice for pumping (processing) another // task (a series of such messages c…
/** * Created by Administrator on 2014/6/5 0005. Base-drag 基于Base库的拖拽插件 tags为你要拖拽的元素参数, 数组形式传入 */ $().extend('drag', function () { var tags = arguments; for (var i = 0; i < this.elements.length; i ++) { addEvent(this.elements[i], 'mousedown', functio…
jquery库引用在base库之前,$的所有权就是base库的:而jquery库引用在base库之前后的话,$的所有权就是jquery库的.解决这种库之间的冲突可用以下方法解决: 情况一,jquery库引用在base库之前 比如: //var $$ = jQuery; $(funtion(){       //jquery库引用在base库之前,$的所有权就是base库的 alert($("#box").ge(0)); //ge()方法属于base而不属于jquery alert(jQ…
Volley是什么? 2013 Google I/O 大会发布的Android平台网络通讯库,旨在帮助开发者实现更快速,简单,健壮的网络通讯.支持网络图片的缓存加载功能. 适用场景:数据量不大,但是通讯频率较高的场景. 官网介绍: https://android.googlesource.com/platform/frameworks/volley/ 官方教程: http://developer.android.com/training/volley/index.html Volley使用过程…
/* * 跨浏览器基础库=============================================== * */ //浏览器检测 (function () { window.sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? sys.fi…
原文出处: oschina 在这个系列的第一部分里,我简单的介绍了非常优秀的Google collections和Guava类库,并简要的解释了作为Java程序员,如果使用Guava库来减少项目中大量的样板代码.在这篇博文中我们将深入挖掘Guava提供的更高级的特性. 我们将深入挖掘Guava库,并了解一下优雅的CharMatcher类.Joiner以及Splitter类,以及在处理Java基本类型时Guava给我们带来的别的工具类. The Guava CharMatcher CharMatc…
简单介绍 gflags 是 google 开源的用于处理命令行参数的项目. 安装编译 项目主页:gflags ➜ ~ git clone https://github.com/gflags/gflags.git # 下载源码 ➜ ~ cd gflags ➜ gflags git:(master) ✗ mkdir build && cd build # 建立文件夹 ➜ build git:(master) ✗ cmake .. # 使用 cmake 编译生成 Makefile 文件 ➜ bu…
参考: http://codemunchies.com/2009/10/beautiful-code-with-google-collections-guava-and-static-imports-part-1/(2,3,4) http://blog.publicobject.com 更多用法参考http://ajoo.iteye.com/category/119082 附 guava中文api地址http://ifeve.com/google-guava/ 以前这么用: Map<String…
个人总结: FlatBuffer相对于Protobuffer来讲,优势如下: 1. 由于省去了编解码的过程,所以从速度上快于Protobuffer,个人测试结果100w次编解码,编码上FlatBuffer 优势不明显,解码上优势明显 2. FlatBuffer的格式文件定义上比Protobuffer格式更丰富 3. 使用方便,直接一个头文件就能搞定,这点很赞 劣势: 1. FlatBuffer的使用上不如Protobuffer方便,创建类型多了一次转换,这和FlatBuffer提升性能有关 2.…
Android平台的网络通信库,使是网通信 更快,更简单,更健壮 适合场景: 数据量不大,通信 频繁. 大数据,流媒体是不适合使用的 * 它主要是帮我们载入和缓存从远程网络加载的图片    * 所有的请求都必须在主线程中发出. 提供功能: 1. 获取JSON 字符串,图片,图像(异步) 2. 网络请求排序 3. 网络请求的优先级处理 4. 缓存 5. 多级别的取消请求 6. 与Activity的生命周期联动 --------------------------------------------…
说明说得很明白,就是等侍num_closures 为零的时候回调done_closure,代码也很简单,不加详述 #ifndef BASE_BARRIER_CLOSURE_H_ #define BASE_BARRIER_CLOSURE_H_   #include "base/base_export.h" #include "base/callback_forward.h"   namespace base {   // BarrierClosure executes…
如同名称描述的那样,这个类就是个taskqueue,也就是任务队列,添加任务到队列,然后由MessageLoop去执行task,比较关心的函数如下: bool IncomingTaskQueue::AddToIncomingQueue( const tracked_objects::Location& from_here, const Closure& task, TimeDelta delay, bool nestable) { AutoLock locked(incoming_queu…
为了兼容不同的平台,这个类采用了impl模式,win平台通过CRITICAL_SECTION, 这样的话还是相对比较简单,具体就不详解了,不过不得不说boost的实现方式就要复杂到哪里去了,当然,好处就是功能强大,坏处就是学习成本高,会用的人少. #if defined(OS_WIN) #include <windows.h> #elif defined(OS_POSIX) #include <pthread.h> #endif #include "base/base_e…
https://github.com/tesseract-ocr/tesseract https://github.com/tesseract-ocr/tessdata             字体识别训练库 https://github.com/rmtheis/tess-two                   一个对tesseract库进行了增强的包装库 https://github.com/imperialsoup/SimpleTesseractExample             这…
一.什么是Volley? Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster. Volley is available through the open AOSP repository.  (上述的意思为:Volley是一个处理Android网络通信的工具,它可以是的Android中的网络通信更加的快速,高效) --->url(https://de…
git clone  https://chromium.googlesource.com/chromium/src 发现有将近7G,但是速度太慢,老是失败,提示信息先后是"The remote end hung up unexpectedly"."early EOF"."index-packed failed". 就算没有失败,但是有时候需要关电脑. 每次重新git fetch后,在.git/objects/pack中,都生成一个新的类似tmp_…
1 /** * Created by Administrator on 2014/6/3 0003. */ $(function () { //个人中心下拉 $('.js-hd-right').hover(function () { $(this).css('background', 'url("img/arrow2.png") no-repeat 80px 13px'); $('.js-drop-down').show().animate({ step: 10, t: 10, mul…
$().extend('serialize', function () { for (var i = 0; i < this.elements.length; i ++) { var form = this.elements[i]; var parts = {}; for (var i = 0; i < form.elements.length; i ++) { var filed = form.elements[i]; switch (filed.type) { case undefined…
以下主要包含windows下公共库以及跨平台公共库: 1. google base库:google下chromium项目的跨平台公共库: 2. vc_common_src:即HP_SOCKET项目中的公共库: 3. dlib:跨平台公共库,比较综合的各种库: 4. stlsoft:包含windows和linux下封装的工具库,如文件.资源.句柄.指针等:   5. ICE下的util库: 此外windows下有些可直接使用的工具.函数.有用的宏等的实现:WinBase.h.WinUser.h.W…
Google的优秀C++开源项目繁多,其中的Chromium浏览器项目可以说是很具有代表性的,此外还包括其第三开发开源库或是自己的优秀开源库,可以根据需要抽取自己感兴趣的部分.在研究.学习该项目前的时先获取到需要获取一份谷歌的Chromium源码,可参考:http://blog.csdn.net/kuerjinjin/article/details/23563059,若无法获取且打算使用VS IDE的可从此处下载:http://blog.csdn.net/kuerjinjin/article/d…
由于某些众所周知的原因,好多开源的 JS 库采用的国外 CDN 托管方式在国内访问速度不如人意.所以我们特意制作了这个公益项目,托管了 CDNJS 的所有开源 JS 库以及反代了 Google Fonts.Ajax 和 Gravatar,并且全部支持 http 和 https 1.CDNJS 开源 JS 库 我们采用的方法是每天定时同步 CDNJS 的 Github(http://t.cn/REVf3N2) 所有的 JS/CSS 库可以在这儿找到您需要的链接 :https://cdnjs.cat…
当我们为不能使用google搜索业务时,这里有全球的google ip库,能够使用当中任一个来利用google搜索 https://github.com/justjavac/Google-IPs http://www.kookle.co.nr/ Google 全球 IP 地址库 Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93.123.23.4 93.123.23.5 93.123.23.6 93.123.23.7 93.123.23.8 93.12…
CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可 以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度.从技术上全面解决由于网络带宽小.用户访问量大.网点分布不均等原因所造成的用户访问网站响应速度慢的问题.更多介绍看这里:http://code.google.com/p/mydocspace/wiki/CDN 我…
一.Timestamp类  1.类图如下: 2.  知识点 (1)     这个类继承了 muduo::copyable, 以及 boost::less_than_comparable. (2)     boost::less_than_comparable 这个类要求实现 <, 可以自动实现 >, <=, >= (自动推导出来的,模板元的思想) 3. 学习流程(1) 剥离代码 (在 ~/muduo_practice 下), 编译出来一个只有TimeStamp的base库(2) 小…
文章转载自:http://my.oschina.net/leejun2005/blog/172328 目录:[ - ] 1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMPORTS 编写漂亮代码 1.Google Collections一览 2.操作lists和maps 3.静态导入和Eclipse模板 4.Guava走马观花 2-深入探索 GOOGLE GUAVA 库 1.The Guava CharMatcher 2.Joiner and Splitter 3.W…
前言 Java 里字符串表示字符的不可变序列,创建后就不能更改.在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 Google 开源的一个核心 Java 库 Guava,它提供了集合类型.不可变的集合.并发.I / O.缓存.字符串等许多实用功能.在本文中,我们将学习使用 Guava 中的 Strings 和 Splitter 字符串操作工具类. 如何使用 Google Guava 会同步到 Maven Central 中,所以,如果你是…