站内搜索
浏览量Top10
- linux多线程编程,你还在用sleep么?用pthread_cond_timedwait吧 - 1,342 views
- python中thread的setDaemon、join的用法 - 482 views
- 编译错误:ISO C++ forbids declaration of *** with no type - 456 views
- 关于linux文件读写的几个系统调用 - 445 views
- 单反如何拍月亮(满月) - 380 views
- [zz]windows宿主机,ubuntu虚拟机下的上网设置(有线网络和无线网络) - 358 views
- 网络编程的一些事 - 316 views
- shell ssh登陆后执行一段代码 - 291 views
- sstable入门阶段——HFile(version1)结构解析与c++读实现 - 267 views
- thrift网络传输模型 - 250 views
-
最近文章
分类
-
barrier C/C++ compile error DP free heap join kill make_heap malloc memcpy mmap network pop_heap pread pthread_cond_timedwait push_heap read readahead rm setDaemon shell signal singleton socket thread thrift vector wish 函数栈 动态规划 华表 卧佛寺 参数校验 域名 夜景 大裤衩 天安门 指针 枚举 游历 游戏 类型转换 返回值 面试 C/Cplusplus (14)
Help me (4)
linux (7)
NoSQL (1)
Programming language (1)
python (1)
shell (4)
web (1)
代码人生 (7)
分布式系统 (2)
摄影 (9)
操作系统 (1)
数据库 (1)
未分类 (3)
算法 (1)
编译问题与优化 (2)
网络 (1)
蛋疼系列 (8)
转载 (5)
随笔 (4)
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.
分类目录归档:代码人生
同步、异步、阻塞、非阻塞是什么意思
同步、异步、阻塞、非阻塞这4个词在计算机IO和网络模型中非常常见。今天我自己给别人解释,又把自己解释糊涂了。回忆了国外操作系统中一个投递邮件的例子。 理解时应该组合着理解,有以下四种情况: 现在你是一个邮递员。 同步阻塞:把邮件投递到hiwgy家的邮箱中,然后站在邮箱旁边等,等到hiwgy把邮件取走了,你才继续投递下一封邮件。 同步非阻塞:把邮件投递到hiwgy家的邮箱中,然后你就继续投递下一封邮件;但是,你不停得给hiwgy打电话,问他是否收到了邮件。 异步阻塞:把所有邮件投递到所有收件人的邮箱中,然后你回到了家里,你开始等收件人给你打电话。 异步非阻塞:把邮件投递到hiwgy家的邮箱中,然后你继续投递下一封邮件,hiwgy突然给你打了个电话,告诉你他收到邮件了,你知道了。 如果要单独理解“同步和异步”,或者单独理解“阻塞和非阻塞” 同步和异步:感觉这个不好解释。同步主要指你的线程要主动关注你的行为是否达到目标了;异步,会有别人通知你,你的行为达到目标了。 阻塞和非阻塞:指你自己的线程,是否需要wait。比如一个IO写函数调用,如果你需要等待写操作执行完毕,函数才返回,那么就是阻塞;如果写操作并未执行完毕,函数就返回,那么就是非阻塞。
stl make_heap使用
摘要:好久没有写blog,翻译一篇cplusplus上的make heap文档,凑凑数吧。在工程项目中有不少需求是多次求最大数或者最小数,堆是好的选择之一。如果我比较懒,又比较严谨的话,项目也允许使用stl的话,我会采用STL的make_heap, push_heap, pop_heap, sort_heap, 结合vector来完成需求。
蛋疼系列之——memcpy源码分析
摘要:曾经笔试题目要求写memcpy的C实现,后来也常见面试题目中出现memcpy,今天动手看了下GNU的实现,感慨感慨。本文先从网上的一个经典答案扩展开来,最后分析其GNU glibc2.14的实现。
shell ssh登陆后执行一段代码
摘要:有需求是操作上百台机器,一台一台登陆就够让人崩溃了。因此就想如何在shell脚本中自动登陆上一批机器,然后在这些机器上执行命令。曾经用过lftp,用EOF可以实现ftp登陆机器并使用lftp的相关命令;今天尝试了下ssh,没想到也可以,不过由于信任依赖关系,需要一些输入,通过更改StrictHostKeyChecking配置项规避该输入问题;如一楼评论所言“yes/no 的问题,可以用 expect 搞定,还能支持未建立信任关系的时候自动输入密码。修改 ssh_config 需要 root 权限,不容易实现”,本文最后给出了使用expect实现的例子。
写篇软文——关于CCTV2转职成baidu频道的感想【转载】
引言:今天同前baidu同事吃饭间突然接到家里的电话,问:“百度这两天怎么了,如此被CCTV2炮轰”,微薄上也有baiduer接到家里的电话:“不要做对不起社会的事情”,可见CCTV2的群众覆盖率之广泛、群众影响之深远。作为财经频道,不提百度对中国经济的贡献,只是一味放大其不足的一面,有失自己被国家赋予的身份、人民赋予的信赖。目前国内很多中小企业的存活非常依赖搜索引擎,百度的凤巢系统提供的广告实时上下线、按地域时段投放广告可以让客户的广告支出花的更有价值、商桥业务直接通过聊天软件方便买家与卖家的沟通。我自身就有使用百度找到商家的例子:用百度找小区附近的矿泉水提供站、空调清洗服务、古筝培训,并且搜出的结果也标明了“推广连接”字样;从当当、京东的例子,也可以看到其对百度的依赖。此次CCTV2的“揭开百度推广背后的黑幕”的报道,个人认为对baidu会对百度的广告审核、广告上线、广告排名的有积极促进的一面,提高广告质量、加强对广告主的管理,希望百度能够坚守并一直实现着自己的使命“让人们更便捷地获取信息,找到所求”。
编译错误:ISO C++ forbids declaration of *** with no type
今天遇到个问题,“ISO C++ forbids declaration of *** with no type”。 错误的原因一般是:两个头文件相互include,一般可以采用#ifndef或前置声明解决该问题; 具体用法很简单,就不讲了。