最近由于项目需要,大致研究了一下protobuf的java使用。说实话,习惯了C++的protobuf,java用起来真别扭。由于需要将protobuf序列化后,存入redis,而且redis没法直接存储非字符串的数据,所以我只能想办法将protobuf序列化成字符串。protobuf的java实现...
分类:
编程语言 时间:
2014-06-28 23:14:20
阅读次数:
525
今天在stackoverflow上看到一个关于Volatile, Interlock, Lock的问题,发现回答的特别好,所以就想到把它翻译一下, 希望给那些对它们有疑惑的人提供点帮助:假设有一个类,它含有一个可以被多线程访问的public int counter 字段, 这个数字只会增加或减少。当...
分类:
其他好文 时间:
2014-06-21 13:21:05
阅读次数:
209
今天在工作的时候发现自己update 一个表的某个字段超时,想了好久,首先想到的办法是,延长操作时间:mysql> set innodb_lock_wait_timeout=100mysql> show variables like 'innodb_lock_wait_timeout'; 但是时间....
分类:
数据库 时间:
2014-06-21 11:38:08
阅读次数:
277
1.概念 Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。2.案例package org.lkl.thread;import java.util.concurren...
分类:
编程语言 时间:
2014-06-21 00:32:08
阅读次数:
324
除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock、condition和barrier,这些都是为实现线程同步提供的。mutexboost提供的mutex有6种:boost::mutexboost::...
分类:
其他好文 时间:
2014-06-20 19:59:40
阅读次数:
293
Redis的一个很大好处就是可以不用整个转入到这个数据库,而是可以沿用之前的MySQL等数据库,而仅在一些特定的应用场景通过Redis的特性提高效率。本文列出了11个这样的Web应用场景,如显示最新的项目列表、删除和过滤、排行榜等相关需求。
【51CTO精选译文】在“怎样让Redis在你的系统中发挥作用”一文中,Salvatore 'antirez’ Sanfilippo告诉我们...
分类:
Web程序 时间:
2014-06-18 11:35:57
阅读次数:
267
1.boost锁的概述: boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。2.mutex对象类(主要有两种): 1.boost::mutex(独占互斥类) -->有lock和unlock方法 2.boost::shared_mutex(共享互斥类) -->有...
分类:
编程语言 时间:
2014-06-18 11:16:03
阅读次数:
262
Redis是Salvatore Sanfilippo在2009年为其初创公司LLOOGG开发的,目前仍是独立项目,但VMWare赞劣了项目(作者是其雇员)。它采用C...
分类:
数据库 时间:
2014-06-18 07:11:31
阅读次数:
303
多线程数据同步错误比较难检测,因为通常是与事件的特定发生顺序有关。
一、同步术语
Barrier(屏障)
barrier是多个Thread的集合点:所有的Thread都应该到齐在这个barrier之后才能允许它们继续下去。
Condition variable(条件变量)
实际上不是变量,而是与某个lock有关联的变量。
Event variable(事件变...
分类:
编程语言 时间:
2014-06-18 06:23:12
阅读次数:
356