Java多线程与集合框架全解析
1. 圆周率生成算法
圆周率生成采用了水龙头算法(spigot algorithm)。该算法逐位输出数字,且数字生成后不会复用。1995年,Rabinowitz和Wagon首次发表了可计算任意预定数位圆周率值的水龙头算法,不过它需要预先指定所需的数位。2005年,Jeremy Gibbons提出了基于Rabinowitz和Wagon算法的无界水龙头算法,很适合计算密集型线程。
2. Java线程基础
- 线程定义 :线程是可执行代码行的序列。Java程序可同时创建和运行多个线程,线程组成树状结构,包含线程和线程组。所有Java程序都是多线程的,因为JVM和Swing/AWT框架本身就是多线程的。
- 线程创建方式 :
- 继承Thread类并重写run()方法。
- 实现Runnable接口,并将其传递给Thread构造函数。
- 线程控制方法 :
| 方法 | 作用 |
| — | — |
| start() | 启动线程 |
| sleep() | 使线程暂停执行,释放CPU资源 |
| interrupt() | 唤醒休眠的线程 |
| yield() | 线程主动让出CPU资源 |
3. 线程调度与同步
- 线程调度 :JVM采用抢占
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



