摘要:
一般可以把独立运行的程序看作一个进程,进程之间是相互独立存在的,像qq音乐,谷歌浏览器一样他们都是独立存在的,而且互不影响。 进程想要执行任务必须依赖于线程,进程中的最小执行单位是线程,进程中至少有一个线程。 进程与线程的最大区别在于内存能否共享:进程的内存空间是各种独立的,线程是共享内存的。 第二 阅读全文
摘要:
概述:对每个命令或请求分配一个线程,由这个线程执行工作。 不像是一个有实权的将军,而像是一个传递消息的太监。 when: 原理进一步解析: 利用了调用方法与启动线程两个操作,实现“传送异步消息”的操作。 示例: 程序运行结果: request传个话就走了,不会等待响应结果而直接退出。 两个很重要的时 阅读全文
摘要:
假设abcd在读ef在写,a关锁的时候bcd可以读,ef在等待中,a关完锁之后,e去写,bcd读不了了,bcd和f都在等待中。 阅读全文
摘要:
https://blog.csdn.net/tanga842428/article/details/52789801 http://www.cnblogs.com/gongchengshidemeng/p/9420096.html https://www.cnblogs.com/shan1393/p 阅读全文
摘要:
线程被interrupt的情况。 Before/After pattern模式 注:execute()是被synchronized的。 我以为被syn的方法内部没有改变,代码执行逻辑也没有改变,就不会有问题。 然而: 这道题答案与try有关,进入了try就一定会有finally 因为能改变四个变量的 阅读全文
摘要:
定义: 当线程“读取”实例的状态时,实例的状态不会改变,因此可以被多个线程读取。而当写入的时候,实例的状态会改变,其他线程不可以进行读取或写入。 道理上如何实现: 用一个锁,读取的时候要获取读取的锁。写入的时候,要获取写入的锁。 优点: 一般来说,进行共享互斥会使程序性能变差,但将写入的共享互斥与读 阅读全文
摘要:
—————————————————示例——————————————————————— 阅读全文
摘要:
Data类 SaverThread类 ChangerThread类 Main类 ———————————————————示例结束—————————————————— Balking Pattern的所有参与者(只有一个): 何时使用: 不需要刻意去执行的时候 不想等待警戒条件成立的时候 警戒条件只有第 阅读全文