Java 多线程
我是一只青蛙
这个作者很懒,什么都没留下…
展开
-
Java 基础学习之多线程四 (线程操作相关方法)
声明: 本博客的是实例代码,不规范,正式写代码时把 main() 放到一个单独的类中会更规范一点。1.取得和设置线程的名称 在 Thread 类中通过 getName() 方法取得线程名称,通过 setName() 方法设置线程的名称。线程名称一般在启动前设置,但也允许为已经运行的线程设置名称。允许两个线程 Thread 对象有相同的名字,但为了清晰,应该尽量避免这种情况的发生。提示:...原创 2019-08-24 10:39:36 · 123 阅读 · 0 评论 -
Java 基础学习之多线程五 (同步与死锁)
声明: 本博客的是实例代码,不规范,正式写代码时把 main() 放到一个单独的类中会更规范一点。1. 问题的引出 一个多线程的程序,如果是通过 Runnable 接口实现的,则意味着类中的属性将被多个线程共享。因此,如果多个线程要操作同一资源时,就有肯出现资源同步的问题。例如前面的卖票程序,如果多个线程同时操作时,就有肯出现卖出的票数为负数的问题。...原创 2019-08-24 16:28:50 · 125 阅读 · 0 评论 -
Java 基础学习之多线程七 (线程的生命周期 )
大部分线程生命周期之前已经介绍过了,其中 3 个新方法如下: (1)suspend() 方法:暂时挂起线程。 (2)resume() 方法:恢复挂起的线程。 (3)stop() 方法:停止线程。但是,对于 suspend()、resume()、stop() 3 种方法并不推荐使用,因为这三种方法在操作时会产生死锁问题。这三种方法 在 Thread 类源码中都使用了 @Deprec...原创 2019-08-25 11:39:30 · 103 阅读 · 0 评论 -
Java 基础学习之多线程三 (线程的状态)
要想实现多线程,就必须在主线程中创建新的线程对象。线程一般有 5 中 状态,即创建、就绪、运行、阻塞、终止。线程状态的转换与方法之间的关系如图:1. 创建状态 在程序中用线程构造方法创建了一个线程对象之后,新的线程状态便处于新建状态。此时,它已经有了相应的内存空间和其他资源,但还处于不可运行的状态。新建一个线程对象可采用 Thread 类的构造方法实现,例如:Thread thre...原创 2019-08-23 15:58:04 · 101 阅读 · 0 评论 -
Java 基础学习之多线程二 (Thread类和Runnable接口的区别)
关于Thread类和Runnable接口的具体内容可参考我上一篇博客:Java 基础学习之多线程一 (Thread、Runnable)声明: 本博客的是实例代码,不规范,正式写代码时把 main() 放到一个单独的类中会更规范一点。1. Thread类和Runnable接口在定义上和使用上的的区别与联系定义上: 先观察 Thread 类的定义public class Thread ex...原创 2019-08-23 14:34:30 · 599 阅读 · 0 评论 -
Java 基础学习之多线程一 (Thread、Runnable、Callable)
1. 进程与线程1.1 相关基本概念(1)进程是程序的一次动态执行的过程。多进程操作系统能同时运行多个进程(程序),而由于 CPU 具备分时机制,所以每个进程都能获得自己的 CPU 时间片。由于 CPU 的执行速度非常快,使得所有的程序好像是在 “同时”运行一样。(2)多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,是在进程的...原创 2019-08-23 10:22:47 · 175 阅读 · 0 评论