下面列出了io.netty.util.internal.ThreadLocalRandom#current ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void channelActive(ChannelHandlerContext ctx) {
ThreadLocalRandom random = ThreadLocalRandom.current();
int delay = random.nextInt(5, 10);
// 每一条新连接,都是5~10秒之后发消息
ctx.executor().scheduleAtFixedRate(() -> {
PushMessage pushMessage = new PushMessage();
pushMessage.setMessageId(UUID.randomUUID().toString());
pushMessage.setContent("hello,world!");
pushMessage.setTimestamp(System.currentTimeMillis());
messageStorage.setObject(pushMessage.getMessageId(), pushMessage);
ctx.channel().writeAndFlush(pushMessage);
}, delay, delay, TimeUnit.SECONDS);
}
public static int[] randomIntArray(final int length, final int range) {
final int[] array = new int[length];
final Random generator = ThreadLocalRandom.current();
for (int i = 0; i < array.length; i++) {
array[i] = generator.nextInt(range);
}
return array;
}
private static Random random() {
return ThreadLocalRandom.current();
}