JAVA同期コードブロックsynchronized
893 ワード
//学習ノートとしてのみ
/*
JAVA
synchronized( )//
{
}
,
CPU ,
:
1,
2,
:
: ,
*/
class Tick implements Runnable
{
private int tick = 50;
Object obj = new Object();//
public void run()
{
while(true)
{
synchronized(obj)
{
if(tick > 0)
{
//try{Thread.sleep(40);}catch(Exception e){}
System.out.println( Thread.currentThread().getName() + " sail --" + tick--);
}
}
}
}
}
class TickDemo
{
public static void main(String []args)
{
Tick t = new Tick();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
Thread t4 = new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
}