规范例外和parallelStream

时间:2017-07-31 03:23:02

标签: java java-8

当尝试(未经检查)异常时,我试图理解parallelStream的行为。我在改变时对以下代码感到困惑 在/// Server var users = { 'asdf123': { id: 'asdf123', name: 'jack', userConnections: [] }, // user could have multiple pages open, track all sockets '123asdf': { id: '123asdf', name: 'jill', userConnections: [] }, }; function onLogin(req, res) { // do some database login var user = users[asdf123]; var token = jsonwebtoken.sign({ userId: user.userId }, 'secret signing key'); res.json({ token: token }); } io.on('connection', function (socket) { socket.authenticated = false; // have they sent us a valid token yet socket.on('auth', function (token) { // client will explicitly send the token jsonwebtoken.verifyToken(token, function (err, decodedToken) { if (err) { // bad or expired token, disconnect them. socket.disconnect(); return; } if (users[decodedToken.userId]) { users[decodedToken.userId].userConnections.push(socket); socket.authenticated = true; } }); }); }); /// Client var socket = io(); var savedToken = localStorage.getItem('token'); socket.on('connect', function () { socket.emit('auth', savedToken); }); stream()之间添加(有时)导致我的异常。 这是代码:如果你多次运行它,通常你会得到它 parallelStream(),但有时你会得到 由RuntimeException引起的RuntimeException。 如果我改变任何其他类型的异常,我仍然会得到相同的效果: RuntimeException,但有时你会得到 由Bla引起的Bla

Bla

与此松散相关 Catching exceptions out of 'stream()' or 'parallelStream()' loses correct values 但是在这个问题中没有答案可以解决这一问题。 我也看了 https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html 但这根本没有提到这个问题。

0 个答案:

没有答案