先来看一个不带线程同步的例子,这个例子很简单,只是让两个线程输出同样的内容,并不做其他的事, 所以,线程同步在这里体现的并不明显. import java.util.Date; public class ThreadTest extends Thread{ int pauseTime; String name; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method s
问题描述 代码如下:class Counter {private static int count;//Object lock = new Object();public int getCount() {synchronized(Counter.class){return count++;}//synchronized(lock){//return count++;//}}}这个类用来生成序列号,测试发现:如果在 getCount方法上面用同步 public synchronized int g
在进行多线程编程中,比较重要也是比较困难的一个操作就是如何获取线程中的信息.大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中,然后再提供一个获取方法将这个字段的内容返回给该方法的调用者.如以下的ReturnThreadInfo类: package threadtest1; /** * * @author shi mingxiang */ public class ReturnThreadInfo extends Thread { private String str; p
//java锁是对同一个对象或者同一个对象中的方法加锁:关键是同一个 错误的加锁方式 public class MyWaitNotify {public static void main(String[] args) {MyT m1=new MyT("A");MyT m2=new MyT("B");m1.start();m2.start();} } class MyT extends Thread{String name; public MyT(String na