java线程 从非常简单的说起谢谢 给点列子啊

mwc5213948 2009-08-03 10:41:32
给个程序 运行看看啊
...全文
69 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
doingendlessly 2009-08-03
  • 打赏
  • 举报
回复
上面是一更改同一变量b的两个方法m1() m2()其中,m1()有锁synchronized,m2()没有。你可以看看运行结果。
还有,在m2()中, b = 2000;在sleep()前和后运行的结果也不一样。你可以看看。我曾经就这个问题提问过,现在还有点不明白哈。。。
doingendlessly 2009-08-03
  • 打赏
  • 举报
回复

ublic class ThreadInterview implements Runnable{
int b = 10;

public int getB(){
return b;
}

public synchronized void m1() throws Exception{
b = 3000;
//try{
Thread.sleep(2000);
//}catch(Exception e){
//e.printStackTrace();
//}
System.out.println(Thread.currentThread().getName()+" b=" + b);
}

//public synchronized void m2() throws Exception{
public void m2() throws Exception{
//b = 2000;
//try{
Thread.sleep(1000);
b = 2000;
//}catch(Exception e){
//e.printStackTrace();
//}
}

public void run(){
try{
m1();
}catch(Exception e){
e.printStackTrace();
}
}

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ThreadInterview TI = new ThreadInterview();
Thread t = new Thread(TI);
t.start();

TI.m2();
System.out.println(Thread.currentThread().getName() + " b=" +TI.b);
}


}
liyuan0714 2009-08-03
  • 打赏
  • 举报
回复
上面不错
feishare 2009-08-03
  • 打赏
  • 举报
回复
一个简单的死锁问题!

package cn.fee.arithmetic;
public class TestDeadLock implements Runnable {
public int t;
static Object o1 = new Object();
static Object o2 = new Object();

public static void main(String[] args) {
TestDeadLock d1 = new TestDeadLock();
TestDeadLock d2 = new TestDeadLock();
d1.t = 0;
d2.t = 1;
Thread t1 = new Thread(d1);
Thread t2 = new Thread(d2);
t1.start();
t2.start();
}

public void run() {
System.out.println(t);
if (t == 1) {
synchronized (o1) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}

synchronized (o2) {
System.out.println("1");
}
}
}
if (t == 0) {
synchronized (o2) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}

synchronized (o1) {
System.out.println("0");
}
}
}
}

}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧