2021年4月22日

java IO操作和计算操作:工作内存和主内存 volatile关键字作用;原子操作对象AtomicInteger ....

摘要: 应该停止但无法停止的计算线程 如下线程示例,线程实例中while循环中的条件,在主线程中通过调用实例方法更新后,while循环并没有更新判断变量是否还成立。而是陷入了while(true)死循环. import javafx.scene.paint.Stop; /** * @ClassName Th 阅读全文

posted @ 2021-04-22 22:57 zhangmingda 阅读(99) 评论(0) 推荐(0) 编辑

java 多线程:线程死锁,如何判断程序是否有死锁代码块儿

摘要: 线程死锁 死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去(百度百科)。 代码示例: /** * @ClassName ThreadDeadLock * @projectName: object1 * @author: 阅读全文

posted @ 2021-04-22 20:23 zhangmingda 阅读(267) 评论(0) 推荐(0) 编辑

java 多线程: Thread 并发访问-代码块同步synchronized {};String作为被锁的对象

摘要: 方法同步的弊端 方法同步的时候,如果一个方法需要线程安全控制的代码速度其实很快,但是还有其他的业务逻辑代码耗时非常长(比如网络请求),这样所有的线程就在这一块就等待着了,这样造成了极大的资源浪费如果并发量很大,可能会造成系统崩溃。(并发的线程遇到synchronized同步的方法,变成串行....) 阅读全文

posted @ 2021-04-22 19:15 zhangmingda 阅读(178) 评论(0) 推荐(0) 编辑

java 多线程:Thread 并发线程: 方法同步synchronized关键字,与static的结合

摘要: 1、方法内的变量是安全的 方法内定义的变量,每个变量对应单独的内存变量地址,多个线程之间相互不影响。多个线程之间的变量根本没有一毛钱关系 public class ThreadFuncVarSafe { public static void main(String[] args) { Runnabl 阅读全文

posted @ 2021-04-22 13:36 zhangmingda 阅读(356) 评论(0) 推荐(0) 编辑

导航