📄 right6_2_1.htm
字号:
<html><head><title>JAVA编程语言</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" href="../../../css/text.css" type="text/css"><script language="JavaScript" type="text/JavaScript"><!--function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features);}//--></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" ><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr> <td valign="top"> <table width="94%" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#FFFFFF"> <tr> <td valign="top"> <p> <span class="pt9-black"> 为解决操作的不完整性问题,在Java 语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。 关键字synchronized 来与对象的互斥锁联系。当某个对象用synchronized 修饰时,表明该对象在任一时刻只能由一个线程访问。 </span></p> <p> <span class="pt9-black"> public void push(char c){<br> synchronized(this){ <font color="339900">//this表示Stack的当前对象</font><br> data[idx]=c;<br> idx++;<br> }<br> }<br> public char pop(){<br> synchronized(this){ <font color="339900">//this表示Stack的当前对象</font><br> idx--;<br> return data[idx];<br> }<br> }<br> <br> <a href="#" onClick="MM_openBrWindow('621f.htm','','width=720,height=360')">--观看动画--</a></span></p> <p><span class="pt9-black"> synchronized 除了象上面讲的放在对象前面限制一段代码的执行外,还可以放在方法声明中,表示整个方法为同步方法。<br> public synchronized void push(char c){<br> …<br> }<br> <br> 如果synchronized用在类声明中,则表明该类中的所有方法都是synchronized的。</span></p> </td> </tr> </table> </td> </tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -