diff --git "a/02.347円272円277円347円250円213円347円232円204円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円/347円272円277円347円250円213円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円.md" "b/02.347円272円277円347円250円213円347円232円204円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円/347円272円277円347円250円213円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円.md" index 7458d85..7c9e471 100644 --- "a/02.347円272円277円347円250円213円347円232円204円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円/347円272円277円347円250円213円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円.md" +++ "b/02.347円272円277円347円250円213円347円232円204円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円/347円272円277円347円250円213円347円212円266円346円200円201円350円275円254円346円215円242円344円273円245円345円217円212円345円237円272円346円234円254円346円223円215円344円275円234円.md" @@ -52,7 +52,7 @@ - 由于java不能多继承可以实现多个接口,因此,在创建线程的时候尽量多考虑采用实现接口的形式; - 实现callable接口,提交给ExecutorService返回的是异步执行的结果,另外,通常也可以利用FutureTask(Callable callable)将callable进行包装然后FeatureTask提交给ExecutorsService。如图, -![FutureTask接口实现关系](https://github.com/CL0610/Java-concurrency/blob/master/2.%E7%BA%BF%E7%A8%8B%E7%9A%84%E7%8A%B6%E6%80%81%E8%BD%AC%E6%8D%A2%E4%BB%A5%E5%8F%8A%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/futureTask%E6%8E%A5%E5%8F%A3%E5%AE%9E%E7%8E%B0%E5%85%B3%E7%B3%BB.png) +![FutureTask接口实现关系](futureTask接口实现关系.png) 另外由于FeatureTask也实现了Runable接口也可以利用上面第二种方式(实现Runable接口)来新建线程; @@ -61,7 +61,7 @@ # 2. 线程状态转换 # -![线程状态转换图](https://github.com/CL0610/Java-concurrency/blob/master/2.%E7%BA%BF%E7%A8%8B%E7%9A%84%E7%8A%B6%E6%80%81%E8%BD%AC%E6%8D%A2%E4%BB%A5%E5%8F%8A%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/%E7%BA%BF%E7%A8%8B%E7%8A%B6%E6%80%81%E8%BD%AC%E6%8D%A2%E5%85%B3%E7%B3%BB.png) +![线程状态转换图]线程状态转换关系.png) @@ -83,7 +83,7 @@ isInterrupted()来感知其他线程对其自身的中断操作,从而做出响应。另外,同样可以调用Thread的静态方法 interrupted()对当前线程进行中断操作,该方法会清除中断标志位。**需要注意的是,当抛出InterruptedException时候,会清除中断标志位,也就是说在调用isInterrupted会返回false。** -![线程中断的方法](https://github.com/CL0610/Java-concurrency/blob/master/2.%E7%BA%BF%E7%A8%8B%E7%9A%84%E7%8A%B6%E6%80%81%E8%BD%AC%E6%8D%A2%E4%BB%A5%E5%8F%8A%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/%E4%B8%AD%E6%96%AD%E7%BA%BF%E7%A8%8B%E6%96%B9%E6%B3%95.png) +![线程中断的方法](中断线程方法.png)

AltStyle によって変換されたページ (->オリジナル) /