浅谈Java多线程编程.pdf

preview
需积分: 0 1 下载量 61 浏览量 更新于2023-12-31 收藏 45KB PDF 举报
"浅谈Java多线程编程" 从标题和描述可以看出,这篇文章的主题是讨论Java多线程编程的相关知识点。 多线程编程的概念 Java语言的一个重要特点是支持多线程机制,这使得Java程序可以支持多程序并发执行,从而提高程序的执行效率。 创建线程 在Java中,创建线程需要遵循一定的步骤,首先要创建线程,然后为其指定工作,当工作完成后再销毁该线程。Java中有两种创建线程的方式,一种是继承Thread类,另外一种是实现Runnable接口。 线程优先级 Java按照其时间表来运行这些进程,每个线程可以有一个优先级与其相关联。线程优先级的设定非常重要,Java支持抢先式调度,这种方式可以更好地分配系统资源。设置线程优先级需要注意几点:确定优先级必须采用1~10之间的整数,父线程的优先级要被子线程所继承,线程的优先级可以通过setPriority()方法进行改变。 同步机制 在多线程编程中,所有线程都是各自独立的执行体,但线程代码的模式却是相同的。如果这些线程要协同工作,就一定要注意其线程代码是不是能够重入控制。Java提供了相应的同步机制,从而阻止多个线程的一个或者多个关键代码在任意时间执行该代码。同步机制是建立在锁的概念和监视器基础上的。 线程同步方法 Java提供了两种线程同步方法:synchronized方法和synchronized块。synchronized方法可以确保在同一时间对每个类实例,它的声明为synchronized的成员函数最多只能有一个处于执行状态,从而避免了类成员变量访问产生冲突。synchronized块可以对任何代码块进行上锁,并且可以指定锁对象,相对synchronized方法有较高的灵活性。 线程阻塞和死锁 进行多线程编程就不得不考虑访问共享资源的问题。Java同步机制可以控制线程代码重入,但很多时候多个线程在各自的执行过程中,会访问诸如存储处理等同一处资源,可能会导致线程阻塞和死锁的情况。
身份认证 购VIP最低享 7 折!
30元优惠券