根据以下代码:
synchronized int x(int y) {
int m;
class statement extends Thread {
@Override
void run() {
//Some Statements
if (condition) {
m = x(someValue);
}
//other statements
}
}
//some statements
statement st = new statement();
st.start;
return m;
}
每次该程序调用{{1}}时,它都会创建一个新线程。
现在,当程序第二次调用x(int y)
时,外部线程(第一次调用中的线程)获取对象的锁定。那么第二次调用中的线程(内部线程)将获取该对象还是会被阻塞?
此致
答案 0 :(得分:1)
该关键字确保只有一个主题可以在任何时间点调用'use strict';
const webpack = require('webpack');
const AotPlugin = require('@ngtools/webpack').AotPlugin;
module.exports = {
devtool: 'source-map',
entry: './src/main.js',
module: {
rules: [
{ test: /\.ts$/, loaders: ['@ngtools/webpack'] }
]
},
plugins: [
new AotPlugin({
tsConfigPath: './src/tsconfig.json',
entryModule: './src/app/app.module'
}),
new webpack.optimize.UglifyJsPlugin({
minimize: true,
compress: false
})
],
output: {
filename:'./src/bundle.js'
}
}
。
但是:您无法预测外部线程是否仍在该方法中。
只是为了记录:不要那样做。不要写这样的“真实”代码。