谁能给个线程安全和非线程安全的代码实例? 小弟对线程这块一直不甚理解 在网上找的例子也都不是很理想 请各位高手给分别给个例子 最好能详细解释下 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 class Callme { synchronized public void call(String msg) { System.out.print("[" + msg); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("]"); }}class Caller implements Runnable { Thread t; private Callme callme; private String msg; public Caller(Callme callme, String msg) { this.callme = callme; this.msg = msg; t = new Thread(this); t.start(); } public void run() { callme.call(this.msg); }}public class SynchronizedDemo { public static void main(String[] args) throws InterruptedException { Callme c = new Callme(); new Caller(c, "Hello"); new Caller(c, "World"); new Caller(c, "!"); }} 这个例子里如果call方法没有同步,那么两个线程可能同时去执行call方法你把call方法前面的synchronized去掉试试 JLabel使用html标签对文字换行后的奇怪问题 JAVA初学者请教:关于NumberFormat类和DecimalFormat类 用了很久的JAVA,才发现main方法中的 String args[] 大部分时候是个摆设. Timer中得任务出了异常怎么捕获? 如何将String转为int类型 什么叫RPG??? 女程序员们的故事 packaGe问题 怎样在".txt"文本中以行为单位插入、读取数据? 在线等待!解决立刻给分!! 在JMenu菜单里加入分隔线 服务端 Socket 设计
synchronized public void call(String msg) {
System.out.print("[" + msg);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("]");
}
}class Caller implements Runnable { Thread t; private Callme callme; private String msg; public Caller(Callme callme, String msg) {
this.callme = callme;
this.msg = msg;
t = new Thread(this);
t.start();
} public void run() {
callme.call(this.msg);
}
}public class SynchronizedDemo { public static void main(String[] args) throws InterruptedException {
Callme c = new Callme();
new Caller(c, "Hello");
new Caller(c, "World");
new Caller(c, "!");
}
}
如果call方法没有同步,那么两个线程可能同时去执行call方法
你把call方法前面的synchronized去掉试试