2017-06-16 98 views
0

假设我有一个方法,里面有一个同步块。 我在同一个对象上有两个线程。一个线程正在执行同步块,因此其他线程将执行方法的其余代码。java线程同步块

回答

1

在同步块中执行第一个线程时,第二个线程将执行方法中块之前的所有内容并等待进入同步块。每当第一个线程退出同步块时,第二个线程将继续进入同步块。

+0

空隙disNum()//代替方法将带框 \t { \t \t同步(这){ \t \t \t的for(int i = 65; I <75; i ++在) \t \t \t { \t \t \t \t System.out.println(i); \t \t \t \t尝试{ \t \t \t \t \t了Thread.sleep(1000); \t \t \t \t}赶上(InterruptedException的发送){ \t \t \t \t \t // TODO自动生成的catch程序块 \t \t \t \t \t e.printStackTrace(); \t \t \t \t} \t \t \t} \t \t} \t \t \t 为\t(INT J = 0;Ĵ<5; J ++) \t \t { \t \t的System.out.println(“非同步-----“); \t \t} \t \t \t} –

+0

正如我已经发布了Q个第一线进入到SYN块,但第二个线程应该执行这个循环是不是SYN块,但它不是发生的一部分。第二个线程正在等待如何? –

+0

循环不在同步块之前。同步块之前的所有内容都将由第2个线程执行。不在该块之后。 – Zico