在同步块内执行新线程
问题描述:
如果我在同步块内创建一个新线程,该块会保持锁定状态直到线程执行完成吗? 如果没有,那么到什么时候它会保持锁定?在同步块内执行新线程
String sLine;
onClick(String line){
synchronized (lock) {
sLine = line;
new Thread(new Runnable() {
@Override
public void run() {
doProcessing(Sline);
}).start();
}
}
答
没有线程有单独的生活。在以上情况下,同步块将被阻塞,直到线程的起始点。
duplicate - http://*.com/questions/5295065/java-threads-and-synchronized-blocks?rq=1 – rajesh 2013-04-10 12:53:54
@rajesh no。你引用的问题涵盖了这个问题的范围,但是是一个不同的问题。 – giulio 2018-02-05 05:37:10