标签:test client 线程 main auth 循环 system sim tar
package com.me.config;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
/**
* Project: me
* Package: com.me.config
* Date: 2017/11/22 19:30
* Author: Simeon
*/
class Demo extends Thread
{
public void run()
{
Jedis jedis1 = new Jedis();
for (int i=0;i<100;i++){
int num = Integer.parseInt(jedis1.get("num"));
num = num + 1;
jedis1.set("num",num+"");
System.out.println(jedis1.get("num"));
}
}
}
public class test{
public static void main(String... args){
Jedis jedis = new Jedis();
jedis.set("num","1");
new Demo().start();
new Demo().start();
}
}
先存储一个num,数值为1。跑2个线程,每个都是100次循环+1。
讲道理如果线程安全,两个线程跑的时候应该是互斥的,即一个线程在跑的时候另一个处于阻塞状态,所以输出结果应该是200.
但是结果输出都不是200。所以redis不是线程安全。
标签:test client 线程 main auth 循环 system sim tar
原文地址:http://www.cnblogs.com/Simeonwu/p/7881100.html