一、概述
Java语言里面使用synchronized关键字给代码段加锁,当它用来修饰一个方法或者一个代码段的时候,能够保证在同一时刻最多只有一个线程执行该代码。
当多个线程访问同一个对象object中的synchronized(this)同步的代码块时,同时只能有一个线程得到执行,其他线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
二、访问synchronized(this)代码块
package JavaPrograms;
public class MyThreadSynchronization implements Runnable{
public void run(){
synchronized(this){
for(int i=1;i<=5;i++){
System.out.println(Thread.currentThread().getName()+"使用该电脑"+i+"次.");
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThreadSynchronization ts=new MyThreadSynchronization();
Thread t1=new Thread(ts,"学生甲");
Thread t2=new Thread(ts,"学生乙");
t1.start();
t2.start();
}
}