剛開始使用簡書掸掏,排版還不熟悉蜓耻,見諒。
消費者類Consumer
package t2;
import redis.clients.jedis.Jedis;
public class Consumer implements Runnable? {
Jedis jedis = new Jedis("127.0.0.1");
@Override
public void run() {
// TODO Auto-generated method stub
//
for(int i=0;i<6;i++){
System.out.println(jedis.blpop(0,"key1","key2"));} //blpop函數(shù)自帶阻塞與非阻塞機制锭硼,第一個數(shù)字表示的是一個指定阻塞的最大秒數(shù)的整型值预柒。當 timeout 為 0 是表示阻塞時間無限制。
}
}
生產者類Producer
package t2;
import redis.clients.jedis.Jedis;
public class Producer implements Runnable{
static Jedis jedis = new Jedis("127.0.0.1");
public static void push(String key,String msg){
jedis.rpush(key, msg);
}
public static String getMsg(String tel,String content){
return tel+content;
}
@Override
public void run() {
// TODO Auto-generated method stub
String msg=Producer.getMsg("tel1","驗證碼1");
Producer.push("key1",msg );
String msg1=Producer.getMsg("tel2","廣告1");
Producer.push("key2",msg1 );
String msg2=Producer.getMsg("tel3","驗證碼2");
Producer.push("key1",msg2 );
String msg3=Producer.getMsg("tel4","驗證碼3");
Producer.push("key1",msg3 );
String msg4=Producer.getMsg("tel5","廣告2");
Producer.push("key2",msg4 );
String msg5=Producer.getMsg("tel6","廣告3");
Producer.push("key2",msg5 );
// jedis.del("key1");
// ? ? jedis.del("key2");
}
}
調用兩個線程Test類
package t2;
public class Test {
public static void main(String[] args){
Consumer d1=new Consumer();
Producer d2=new Producer();
Thread t1=new Thread(d1);
Thread t2=new Thread(d2);
t1.start();
t2.start();
}
}
新手剛學習Jedis姆涩,共同進步挽拂。