Java 中的同步是控制多个线程对任何共享资源的访问的能力。
在我们希望只允许一个线程访问共享资源的情况下,Java线程同步是更好的选择。
如果您将任何方法声明为同步,则称为同步方法。
同步方法用于为任何共享资源锁定对象。
当线程调用同步方法时,它会自动获取该对象的锁,并在线程完成其任务时释放它。
例子:
//java同步方法的例子
类 表{
synchronized void printTable( int n){ //同步方法
for ( int i= 1 ;i<= 5 ;i++){
System.out.println(n*i);
试试{
线程.sleep( 400 );
}捕捉(异常 e){System.out.println(e);}
}
}
}
MyThread1 类扩展 Thread{
药片;
MyThread1(表 t){
这.t=t;
}
公共无效 运行(){
t.printTable( 5 );
}
}
MyThread2 类扩展 Thread{
药片;
MyThread2(表 t){
这.t=t;
}
公共无效 运行(){
t.printTable( 100 );
}
}
公共类 TestSynchronization2{
公共静态无效 主要(字符串参数[]){
表 obj = 新 表();//只有一个对象
MyThread1 t1=新的 MyThread1(obj);
MyThread2 t2=新的 MyThread2(obj);
t1.start();
t2.start();
}
}
输出:
5
10
15
20
25
100
200
300
400
500
通过上述介绍,相信大家对Java线程同步方法已经有所了解,大家如果想了解更多相关知识,可以关注一下本站的Java在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习