![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 94
程序员老石
当你的才华满足不了你的野心,你应该滚去学习
展开
-
并发编程(五)-常用类、锁、队列
1、Callable接口创建线程的多种方式继承Thread类实现Runnable接口Callable接口线程池目前学习了有两种创建线程的方法,一种是通过创建 Thread 类,另一种是通过使用 Runnable 创建线程,但是,Runnable 缺少的一项功能是,当线程终止时(即 run()完成时),我们无法使线程返回结果。为了支持此功能,Java 中提供了 Callable 接口比较Runnable接口和Callable接口Callable中的call()计算结果,如果无法计算结果原创 2022-03-07 17:03:55 · 313 阅读 · 0 评论 -
并发编程(三)- Local接口&集合线程安全问题
1、Local接口 LOCK是类,可通过类实现同步访问,多个接口实现类:可重入锁等lock的编程步骤同synchronized创建资源类,在资源类中创建属性和操作方法创建多个线程,调用资源类的操作方法可重入锁的代码定义private final ReentrantLock lock = new ReentrantLock(true);上锁:lock.lock();解锁:lock.unlock();上锁与解锁中的代码如果出现异常,解锁会执行不了,所以最好加try..final原创 2022-03-01 14:17:12 · 3761 阅读 · 0 评论 -
并发编程(二) 线程
1、java线程 Java程序天生就是一个多线程的程序,每个Java程序都至少有一个线程,即主线程,当Java程序启动时,JVM会创建主线程,同时,还会创建一系列其他的线程,例如:垃圾收集、对象终止和其它 JVM 内部处理任务相关的线程。2、线程状态JDK中用Thread.State类定义了线程的几种状态新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是原创 2022-02-25 14:32:50 · 326 阅读 · 0 评论 -
并发编程(一)
1、进程和线程1、进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在 指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)2、线程一个进程之内可以分为一到多个线程。一原创 2022-02-22 14:41:23 · 128 阅读 · 0 评论