synchronized 的用法

来源:互联网 发布:淘宝优惠券去哪里领 编辑:程序博客网 时间:2024/05/29 08:14

总结:

1、synchronized使用在方法、代码块。

2、同一个线程访问同一个资源时候会进行线程锁。


问题:

1、不同线程之间怎么关联到一起,一同进行线程锁?

2、如何判断所有的进程都已经执行完毕?



【例子:多线程synchronized 的用法】

package testPackage;public class Test {public static int count = 0;public synchronized static void inc(Thread thread) {// 这里延迟1毫秒,使得结果明显try {Thread.sleep(5);} catch (InterruptedException e) {}System.out.println(thread.getName()+"--"+count);count++;// 这里每次运行的值都有可能不同,可能为1000System.out.println("----运行结果:Counter.count=" + Test.count);}public static void main(String[] args) {// 同时启动1000个线程,去进行i++计算,看看实际结果for (int i = 0; i < 1000; i++) {new Thread(new Runnable() {@Overridepublic void run() {Test.inc(Thread.currentThread());}}).start();}}}










0 0