- 博客(6)
- 收藏
- 关注
原创 线程安全活跃态问题及竞态条件
1.先检测后执行,执行依赖于检测的结果,而检测结果依赖于多个线程的执行时序,而多个线程的执行时序通常情况下是不固定不可判断的,从而导致执行结果出现各种问题,常见一种可能的解决办法就是:在一个线程修改访问一个状态时,要防止其他线程访问修改,也就是加锁机制,保证原子性。是线程在对同一把锁进行竞争的时候,未抢占到锁的线程会等待持有锁的线程释放锁后继续抢占,如果两个或两个以上的线程互相持有对方将要抢占的锁,互相等待对方先行释放锁就会进入到一个循环等待的过程,这个过程就叫做死锁。2.延迟初始化(典型为单例)
2023-03-22 10:46:23 136
原创 多线程创建的方式
1、 继承Thread类创建多线程:继承java.lang.Thread类,重写Thread类的run()方法,在run()方法中实现运行在线程上的代码,调用start()方法开启线程。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。3. 实现Callable接口,Callable规定的方法是call(),任务执行后有返回值,可以抛出异常。2. 实现Runnable接口,Runnable规定的方法是run(),无返回值,无法抛出异常。
2023-03-22 10:40:02 184
原创 如何预防死锁?
死锁:线程在对同一把锁进行竞争的时候,未抢占到锁的线程会等待持有锁的线程释放锁后继续抢占,如果两个或两个以上的线程互相持有对方将要抢占的锁,互相等待对方先行释放锁就会进入到一个循环等待的过程,这个过程就叫做死锁。放重新加入到系统的资源列表中,可以被其他的进程使用,而等待的进程只有重新获得自己原有的。一个进程不能获得所需要的全部资源时便处于等待状态,等待期间他占有的资源将被隐式的释。采用资源有序分配其基本思想是将系统中的所有资源顺序编号,将紧缺的,稀少的采用较大的。资源以及新申请的资源才可以重新启动执行。
2023-03-22 10:34:36 60
原创 如何预防死锁?
死锁:线程在对同一把锁进行竞争的时候,未抢占到锁的线程会等待持有锁的线程释放锁后继续抢占,如果两个或两个以上的线程互相持有对方将要抢占的锁,互相等待对方先行释放锁就会进入到一个循环等待的过程,这个过程就叫做死锁。放重新加入到系统的资源列表中,可以被其他的进程使用,而等待的进程只有重新获得自己原有的。一个进程不能获得所需要的全部资源时便处于等待状态,等待期间他占有的资源将被隐式的释。采用资源有序分配其基本思想是将系统中的所有资源顺序编号,将紧缺的,稀少的采用较大的。资源以及新申请的资源才可以重新启动执行。
2023-03-22 10:33:30 64
原创 linux常用命令
tar.gz是Linux中的一种文件压缩格式。使用tar命令实现对文件的压缩与解压处理。-f 使用压缩或解压缩文件的名字,这个参数是最后一个参数,后面只能接文件名。tar -czvf 压缩文件的名称.tar.gz 源文件或目录名称。tar –zxvf 解压文件名 -C 指定路径。tar –zxvf 解压文件名。-C 指定解压文件存放的位置。修改配置文件(永久可用)创建tar.gz压缩文件。*.tar.gz格式。tar命令的相关参数。-c 创建压缩文件。解压tar.gz文件。
2023-03-15 16:32:42 64 1
原创 vmvare安装centos
官网地址:http://mirrors.qlu.edu.cn/centos/8-stream/isos/x86_64/这里选择centos8下载。
2023-03-15 16:24:04 49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人