Java中的多线程
-
程序、进程、线程的概念:
(1) 程序:计算机指令的集合,以文件形式存储在磁盘上。即指一段静态的代码,静态对象。
进程:是一个程序在其自身的地址空间中的一次执行活动;是系统进行资源分配、调度和独立运行的基本单位。
线程:是操作系统能够运算调度的最小单位;被包含在进程中,时进程中的实际运作单位;一个进程可以拥有多个线程。
(2)并发和并行的区别:
并发:一个服务器同时处理多个任务;
并行:多个服务器同时处理多个不同的任务; -
多线程的创建和启动
步骤:
(1)继承Thread类,创建一个Thread的子类;
(2)重写run()方法;
(3)创建对象(实例);
(4)调用start()方法:启动线程,调用run()方法。 -
Thread类:
static void yield:线程让步,当前正在执行的线程交给优先级相同或更高的线程;
join:
static void sleep(long millis):(指定时间毫秒):
stop:强制线程声明期结束 -
线程的生命周期
-
Synchronized使用:锁
死锁解决方法:
专门的算法,原则;
尽量减少同步资源的定义; -
如何交替打印两个线程?
-
生产者/消费者问题: