java线程之Thread(大部分内容来自于think in java 3th,Bruce Eckel)

将程序分为若干个子程序独立的进行运行,被称为多线程(multitasking),即使是在单处理器的机器上,合理的使用多线程编程也可以明显的提高用户体验,而在多处理器的的机器上尤其是在分布式计算中,多线程可以明显的提高运算效率。

在java中,线程有两种实现方式,第一种是使类继承java.lang.Thread类,并重写其中的run 方法。

在程序中调用start()方法来启动线程,然后程序会自动调用run()方法。

控制线程的行为,有让步---yield(),休眠---sleep(),设置优先权--setPriority(),设置为后台程序--setDaemon,加入线程--t.join(),打断--interrupt()


让步---yield()

该行为不被保证,让步有可能在被调用之前就被中断,如果想认真做调整,不建议使用。


休眠---sleep()

try {
	sleep(2000);
} catch (Exception e) {
	throw new RuntimeException(e);
}
当前进程会休眠2秒。sleep()方法有可能会被中断(interrupt()),所以必须放在try-catch块中,


设置优先权---setPriority()

new SimplePriorities(Thread.MAX_PRIORITY);

new SimplePriorities(Thread.MIN_PRIORITY);

优先权仅仅是表示被执行的频率的高低,而不是被执行的绝对顺序。

由于jdk中默认有10个优先权级别,而不同的操作系统的优先权级别各有不同(比如windows2000有7个),所以唯一可移植的策略是只是用 Thread.MAX_PRIORITY,Thread.NORM_PRIORITY,Thread.MIN_PRIORITY三种级别。


设置为后台线程---setDaemon

后台线程,是指程序运行时在后台提供通用服务的线程,不属于程序中不可或缺的一部分,所以当程序所有的非后台线程结束时,该程序也就终止了。

一个后台线程所创建的所有线程都是后台线程。

setDaemon(true);


加入线程---t.join();

class Sleeper extends Thread {}
class Joiner extends Thread {	
public void run() {
		try {
			sleeper.join();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		System.out.println(getName() + " Join completed");
	}
}

运行到sleeper.join()时,线程Joiner将被挂起,当线程sleeper结束之后再继续执行。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "Game Engine Architecture 第三版" 是一本权威的游戏引擎设计指南,旨在帮助读者理解和实现高效可靠的游戏引擎。 该书主要讨论了游戏引擎的架构设计。在游戏开发中,引擎是一个复杂的系统,它包括多个组件和子系统,如图形引擎、物理引擎、声音引擎、输入引擎等。这本书通过深入探讨不同组件的功能和相互之间的关系,解释了如何构建一个强大而灵活的游戏引擎。 书中介绍了几种常用的游戏引擎架构模式,如组件实体系统、消息系统、状态机等,以及各自的优缺点。读者可以根据项目需求选择适合的架构模式。 此外,书中还详细介绍了游戏引擎的性能优化技术和调试工具。性能优化对于游戏引擎至关重要,能够提升游戏的帧率和响应速度。通过学习书中的实践经验和技巧,读者可以有效地提高游戏引擎的性能。 最后,书中还提供了大量的示例代码和案例研究,帮助读者理解和应用所学知识。这些示例覆盖了不同类型的游戏,如平台游戏、射击游戏、角色扮演游戏等,读者可以根据自己的兴趣和需求选择相关示例进行学习和实践。 总之,《Game Engine Architecture 第三版》是一本对于希望深入学习游戏引擎设计的人士来说非常有价值的指南。无论是初学者还是有经验的开发者,都能从中获得宝贵的知识和实践经验,提升自己在游戏开发领域的能力。 ### 回答2: 《游戏引擎架构第三版》(Game Engine Architecture 3rd PDF)是一本介绍游戏引擎架构设计的书籍。该书以提供广泛全面的视角来解释游戏引擎的内部运作原理和设计思路,涵盖了从基本概念到具体实现的内容。 这本书以系统性的方式组织了游戏引擎的核心组件和流程,通过深入剖析不同功能模块之间的交互,读者能够对游戏引擎整体架构的设计哲学和实现方式有更深入的理解。 《游戏引擎架构第三版》的内容主要包括:引擎基础、渲染和图形、人工智能、物理和碰撞检测、声音、脚本和编程、网络和多人游戏等。每一章节都详细讲解了相应领域的关键概念和原理,并提供了实际案例和代码示例来辅助理解。 此外,该书在第三版中还增加了一些新的内容,如现代图形API(例如Vulkan和DirectX 12)的介绍以及虚幻引擎4和Unity引擎的案例分析,使读者能够更好地了解和应用最新的技术和工具。 总体而言,《游戏引擎架构第三版》是一本对于游戏引擎开发者和游戏开发爱好者来说非常有价值的参考书,它提供了较为全面的游戏引擎架构设计方面的知识和实践经验,能够帮助读者更好地理解和构建高效、可维护的游戏引擎。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值