![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
FFFXXXFFF
这个作者很懒,什么都没留下…
展开
-
Java 多线程学习(1)
Java 多线程是java学习中绕不开的重要一块。 一、线程与进程 先来比较线程与进程 一条线程指的是进程中一个单一顺序的控制流,相当于某程序中专门负责某事务的一段代码; 一个进程中可以并发多个线程,每条线程并行执行不同的任务,相当于计算机中正在运行的一个程序。 一个进程包括由操作系统分配的内存空间,包含一个或多个线程。 一个线程不能独立的存在,它必须是进程的一部分。 一个进程一直运行,直到所有的...原创 2019-08-03 16:02:15 · 83 阅读 · 0 评论 -
Java 多线程学习(2):通过实现 Runnable 接口来创建线程
首先,为了实现 Runnable要方法调用 run(): public void run(){ } 其次,在类中实例化一个线程对象: new+线程对象名 新线程创建之后,你调用它的 start() 方法它才会运行。 void start() 代码如下: public class MyThread extends Thread{//继承Thread类 public void run...原创 2019-08-03 16:09:03 · 506 阅读 · 0 评论 -
Java 多线程学习(3):通过继承Thread类来创建线程
注意以下几点: 1.继承Thread类的话,必须重写run方法,在run方法中定义需要执行的任务。 2.通过start()方法才能启动线程。 3.调用run方法相当于在主线程中执行run方法,并不会创建一个新的线程来执行定义的任务。 4.新线程创建过程不会阻塞主线程的后续执行。 示例代码如下: class MyThread extends Thread{ private static in...原创 2019-08-03 16:36:16 · 843 阅读 · 0 评论 -
Java 多线程学习(4):线程调度
Java线程有优先级,优先级高的线程会获得较多的运行机会。 Java线程的优先级用整数表示,取值范围是1~10,Thread类有以下三个静态常量: static int MAX_PRIORITY 线程可以具有的最高优先级,取值为10。 static int MIN_PRIORITY 线程可以具有的最低优先级,取值为1。 static int NORM_PRIORITY 分配给线程的默认优先级,取值...原创 2019-08-03 17:12:33 · 122 阅读 · 0 评论 -
Java 多线程学习(5):Java中的锁分类
公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 1.公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。可能会造成优先级反转或者饥饿现象。 对于Java ReentrantLock而言,通过构造函数指定该...原创 2019-08-03 20:52:27 · 102 阅读 · 0 评论