From 647e455956adfe2c2d2e001b9650c11d4c0f8c8f Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 10 Mar 2018 21:07:51 +0800 Subject: [PATCH] auto commit --- notes/Java 并发.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/Java 并发.md b/notes/Java 并发.md index e95940b3..5cd3ada4 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -625,7 +625,7 @@ at java.lang.Thread.run(Thread.java:662) 很明显,尽管这里使用到的 Vector 的 get()、remove() 和 size() 方法都是同步的,但是在多线程的环境中,如果不在方法调用端做额外的同步措施的话,使用这段代码仍然是不安全的,因为如果另一个线程恰好在错误的时间里删除了一个元素,导致序号 i 已经不再可用的话,再用 i 访问数组就会抛出一个 ArrayIndexOutOfBoundsException。如果要保证这段代码能正确执行下去,我们不得不把 removeThread 和 printThread 的定义改成如下所示的样子: -``` +```java Thread removeThread = new Thread(new Runnable() { @Override public void run() {