JAVA多线程中的synchronized怎么用?
我只知道它有synchronized 方法和 synchronized 块
但不知道他们到底怎么用,他们的操作对象是什么?
1.synchronized方法
class Demo implements Runnable
{
private int ticket = 10 ;
// 加入一个同步方法
public synchronized void fun()
{
// 把需要同步的地方放在同步方法之中
if(this.ticket>0)
{
try
{
Thread.sleep(100) ;
}
catch (Exception e)
{
}
System.out.println(Thread.currentThread().getName()+" --> 卖票:"+this.ticket--) ;
}
}
public void run()
{
while(ticket>0)
{
this.fun() ;
}
}
};
public class ThreadDemo14
{
public static void main(String args[])
{
Demo d = new Demo() ;
Thread t1 = new Thread(d,"售票点 A") ;
Thread t2 = new Thread(d,"售票点 B") ;
Thread t3 = new Thread(d,"售票点 C") ;
t1.start() ;
t2.start() ;
t3.start() ;
}
};
2.synchronized同步块
class Demo implements Runnable
{
private int ticket = 10 ;
public void run()
{
while(ticket>0)
{
// 加入同步块
synchronized(this)
{
if(this.ticket>0)
{
try
{
Threa
相关问答:
通过java程序,先编译c程序,如出现错误,提示C程序中的错误,编译成功就运行,显示C的运行结果,最好把C的运行时间和内存等都显示出来
各位大哥大姐帮帮忙,小弟感激不尽!
用java的进程类试试
我给你转 ......
<%@page language="java" contentType="text/html;charset=gb2312" import="java.sql.*"%>
<jsp:useBean id="db" class="wang.connectDB"/>
< ......
jsp学习前要了解那些知识?学了java了。不知道还要学习些什么知识才可以很好的学习jsp
HTML、JavaScript
直接学就可以了,遇到不会就现学就行。
Html css servlet
去了解浏览器与web服务器的简单交 ......
我想使用Lucene的代码,发现要import一批文件:
============
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
………………
===== ......