Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

java并发编程78讲 PDF 下载


分享到:
时间:2024-03-29 09:53来源:http://www.java1234.com 作者:转载  侵权举报
java并发编程78讲
失效链接处理
java并发编程78讲 PDF 下载
 
 
 
相关截图:
 


主要内容:

第 01 讲:为何说只有 种实现线程的方法?
在本课时我们主要学习为什么说本质上只有一种实现线程的方式?
 
实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里?
实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一
系列操作。所以本课时就先从并发编程的基础如何实现线程开始讲起,希望你能够夯实基础,
虽然实现线程看似简单、基础,但实际上却暗藏玄机。首先,我们来看下为什么说本质上实
现线程只有一种方式?
实现线程的方式到底有几种?大部分人会说有 种、种或是 种,很少有人会说有 1
种。我们接下来看看它们具体指什么?种实现方式的描述是最基本的,也是最为大家熟知
的,我们就先来看看 种线程实现方式的源码。
 
实现 Runnable 接口
public class RunnableThread implements Runnable {
@Override
public void run() {
System.out.println('用实现 Runnable 接口实现线程');
}
}
第 种 方 式 是 通 过 实 现 Runnable 接 口 实 现 多 线 程 , 如 代 码 所 示 , 首 先 通 过
RunnableThread 类实现 Runnable 接口,然后重写 run() 方法,之后只需要把这个实现了
run() 方法的实例传到 Thread 类中就可以实现多线程。
 
继承 Thread 
public class ExtendsThread extends Thread {
@Override
public void run() {
System.out.println('用 Thread 类实现线程');
}
}
第 种方式是继承 Thread 类,如代码所示,与第 种方式不同的是它没有实现接口,而
是继承 Thread 类,并重写了其中的 run() 方法。相信上面这两种方式你一定非常熟悉,并
且经常在工作中使用它们。
 
线程池创建线程那么为什么说还有第 种或第 种方式呢?我们先来看看第 种方式:通过线程池创建
线程。线程池确实实现了多线程,比如我们给线程池的线程数量设置成 10,那么就会有 10
个子线程来为我们工作,接下来,我们深入解析线程池中的源码,来看看线程池是怎么实现
线程的?
 
线程工厂:就是给线程设置一些相关属性的,例如线程优先级,名称,是否是守护线程等
static class DefaultThreadFactory implements ThreadFactory {
DefaultThreadFactory() {
SecurityManager s = System.getSecurityManager();
group = (s != null) ? s.getThreadGroup() :
Thread.currentThread().getThreadGroup();
namePrefix = "pool-" +
poolNumber.getAndIncrement() +
"-thread-";
}
public Thread newThread(Runnable r) {
Thread t = new Thread(group, r,
namePrefix + threadNumber.getAndIncrement(),
0);
if (t.isDaemon())
t.setDaemon(false);
if (t.getPriority() != Thread.NORM_PRIORITY)
t.setPriority(Thread.NORM_PRIORITY);
return t;
}
}

 

 

 
 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐