01内存屏障(Memory barrier)
本文例子均在 Linux(g++)下验证通过,CPU 为 X86-64 处理器架构。所有罗列的 Linux 内核代码也均在(或只在)X86-64 下有效。
02Pthreads并行编程之spin lock与mutex性能对比分析
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。
03关于加锁不能保证线程安全的一个错误
在《程序员的自我修养 — 链接装载与库》一书第28页“过度优化”这一节中,作者提到了编译器优化可能造成多线程bug的情况。但是《程》中所给出的例子其实是错误的。Pthreads线程库帮程序员保证了pthread mutex(spin lock也一样)所保护的临界区内共享变量的可见性:即Thread 1一执行完unlock(),x的最新值1一定能被Thread 2看见。(为了实现这一点,Pthreads线程库在实现的时候都会根据相应的硬件平台调用相应的memory barrier来保证内存可见性,感兴趣的同学可以看看nptl的实现)所以,只要正确的用锁保护好你的共享变量,你的程序就会是线程安全的。

04在多核多线程程序中要慎用volatile关键字
这篇文章详细剖析了为什么在多核时代进行多线程编程时需要慎用volatile关键字。
主要内容有:
1. C/C++中的volatile关键字
2. Visual Studio对C/C++中volatile关键字的扩展
3. Java/.NET中的volatile关键字
4. Memory Model(内存模型)
5. Volatile使用建议
05多线程程序中操作的原子性
原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?
06utf8_general_ci 与 utf8_general_cs 和 utf8_bin的区别
对于 SELECT * FROM table WHERE txt = 'a' ,在utf8_bin中你就找不到 txt = 'A' 的那一行, 而在 utf8_general_ci 则可以.utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果. utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

07Lua math string库
Lua math string 库 http://cloudwu.github.io/lua53doc/contents.html 《Lua5.3参考手册》
08linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法:1.在/etc/rc.local中添加; 2.可设定启动优先级的高级开机自启动脚本
09关于zend studio单例代码不提示问题
今天偶尔用到单例模式,于是写的一个类.在该类中用getinstance 初始化对象.增加其它方法,在控制器中调用这些个方法,居然没有提示如: $obj->getinstance()->getData();//不提示getData.解决方法:对getInstance方法加注释, @return YOUR_CLASSNAME 就可以了

10正则表达式相关
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
11PHP 正则表达式替换 preg_replace 函数
对替换模式在一个逆向引用后面紧接着一个数字时(如 \\11),不能使用 \\ 符号来表示逆向引用。因为这样将会使 preg_replace() 搞不清楚是想要一个 \\1 的逆向引用后面跟着一个数字 1 还是一个 \\11 的逆向引用。解决方法是使用 \${1}1。这会形成一个隔离的 $1 逆向引用,而使另一个 1 只是单纯的文字
12非常实用全面的 C++框架,库类等资源
这次的资源涉及到了标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等,C++程序员学习必备!

点击排行

站长推荐

猜你喜欢
站点信息
- 建站时间:2016-04-01
- 文章统计:728条
- 文章评论:82条
- QQ群二维码:扫描二维码,互相交流
