2021.12.15学习记录

2021.12.15学习记录,第1张

2021.12.15学习记录

一、线程死锁

线程死锁问题,即在多个线程之间,当线程都需要先获取资源再释放资源时,就会发生死锁问题

为了避免线程发生死锁,应尽量控制线程在获取资源对象时,即对资源上锁后,不在调用其他对象

注:线程死锁问题不能解决,只能避免出现

二、线程生命周期与线程池

每一个线程在被创建时即赋有生命,在此线程结束使用后,生命消失。在程序中,创建一个新的线程是一个非常消耗性能的 *** 作,而每一个线程的任务可能很短就结束生命周期。为了让线程循环使用,避免浪费性能,因此创立线程池

线程池:将创立的线程放入其中,然后使得线程可以循环使用

Executor接口:线程池的顶级接口,是一个执行线程的工具

ExecutorService:线程池的接口

Executors类:Executor接口的实现类

内部方法:

newSingleThreadExecutor:创建一个单线程的线程池,然后使得这一个线程循环使用

newFilxedThreadPool:创建一个固定大小的线程池

特点:线程池一旦达到最大值,内部的线程就会保持不变

如果一个线程因异常而结束,那么线程池会补充一个新的线程

newCatchThreadPool:创建一个缓存线程池,如果次线程池内部空间不够,那么会选择结束掉长时间没用的线程

newScheduledThreadPool:创建一个无限的线程池

三、TCP原理

TCP是一个可靠的 协议,面向连接协议

ServerSocket:此类实现服务器套接字

Socket:此类实现用户端套接字

Socket是网络编程提供给程序编程的一种机制

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5673193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存