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
相关问答:
我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......
我想做够购物车用session 但是不知道怎么获取购买数量 谁有具体的代码吗 希望能割舍
下面是购物车的核心代码
有了这个 就应该能够做出来吧
Java code:
public void doPost(HttpServletRequest reque ......
1 public class BirthDate {
2 private int day;
3 private int month;
4 private int year;
5
6 public BirthDate (){}
7
8 public BirthDate (int d,int m,int y){
9 day = d;
......
我在eclipse中写了一个播放音乐的类,并把音乐文件和类文件放在了一起,结果运行时,出现错误,说是音乐文件那个是空的,但是在jcreator用同样的方法结果是可以运行的,请求高说指教,告诉为什么?急
你若是在Windo ......
为什么我用BufferWriter比不用花费的时间还要多?
而用BufferOutputStream时比不用效率要高十几倍
是不是我的代码有问题
请高手给个解释
Java code:
import java.io.*;
public class BufferCha ......