- 博客(12)
- 收藏
- 关注
原创 线程池总结
线程池是Java中的一种用于管理线程的机制,它可以在应用程序启动时预先创建一定数量的线程,并将这些线程放入一个线程池中,以便在需要时可以快速地分配给任务。当有任务提交到线程池时,首先检查当前线程池的线程数量是否小于corePoolSize,如果是,则创建一个新的线程来执行任务。如果当前线程池的线程数量已经达到corePoolSize,则进入下一步。线程执行完任务后,如果当前线程池的线程数量大于corePoolSize,则判断该线程是否空闲时间超过keepAliveTime,如果是,则销毁该线程。
2023-10-23 10:20:13
75
原创 总结线程安全问题的原因和解决方案
当多个线程同时修改这些资源时,由于修改操作不是原子的,例如++操作,可以分为三步,第一是读取当前内存中的值,第二是对读取到的值加一吗,第三是返回增加后的值,当一个线程在上个线程增加前便读取值,就会导致两个线程先后执行但是返回值一样,这样就出现了线程安全问题。这些原子变量类可以保证对共享变量的操作是原子的,从而避免了线程安全问题。同步可以解决线程安全问题,它可以确保在同一时间只有一个线程可以访问共享资源。总之,线程安全问题的根本原因是并发访问共享资源时存在的不确定性,需要采取适当的措施来保证线程安全。
2023-10-16 23:07:37
86
1
原创 总结单例模式的写法(保证线程安全)
懒汉模式默认不是线程安全的,因为他是判定+修改,这组操作不是原子的,在多线程模式下,当第二个线程在第一个线程修改前便读取...等等多种情况下,会产生线程安全问题,需要进行加锁处理,又因为不是所有情况下都需要加锁,而是创建实例时需要,则需要if判断来保证效率问题,而创建实例后不需要在创建,所以创建实例时也要用if判断,这里综合起来便采用双if结构,最后虽然保证了原子性但是还有内存可见性的问题,所以。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。
2023-10-16 22:21:29
134
1
原创 总结 Java 线程的几种状态
同样,当线程调用Thread.sleep(int),Object.wait(long),Thread.join(long)这些方法时,它会进入TIMED_WAITING状态,直到指定的等待时间过去。当线程试图获取一个内部的对象锁,而该锁被其他线程持有时,它的状态就会变成BLOCKED。它将一直保持这个状态,直到持有锁的线程释放锁,这时阻塞的线程将有机会变成RUNNABLE状态。在这个状态下,线程会一直运行,直到它的run()方法执行完毕,或者遇到异常,或者主动调用stop()方法。
2023-10-14 11:24:42
76
1
原创 总结 Thread 类的基本用法
在 Java 编程语言中,Thread类是创建和管理线程的基础。线程是多任务处理的基本单元,允许程序并发执行多个任务。下面我们将总结Thread类的基本用法,包括线程的创建、中断、等待、休眠以及获取线程实例。
2023-10-11 09:41:27
34
原创 进程学习心得
进程控制块也叫PCB,在java中可以用类与对象将其描述,其中的信息有pid(进程的唯一标识),进程与程序关联的基本信息,进程的进程调度信息,进程调度是指多个进程在单个cpu上轮流使用的使用信息,因为切换的时间极短,在宏观上我们认为这些进程是在同步进行,而这些是进程调配好的,而且进程调度还会统计一段时间内哪个进程分配时间较短,可以合理分配时间.进程是操作系统对某个程序的一次运行,同时在操作系统内部,进程是系统进行资源分配的基本单位,进程依赖于程序运行而存在,进程是动态的,程序是静态的.
2023-09-02 07:54:27
74
原创 整数的储存与浮点数的储存
详细解读:根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:(-1)^S * M * 2^E(-1)^S表示符号位,当S=0,V为正数;当S=1,V为负数。M表示有效数字,大于等于1,小于2。2^E表示指数位。
2023-01-03 22:00:02
176
原创 扫雷游戏初步实现与心得
一. 1.老规矩,扫雷游戏也是用模块化加自定义函数实现,也是先写出一个大概框架与流程,前期实现可以看我三子棋的博文 http://t.csdn.cn/uMeOc ,因为是上来就要打印菜单,所以使用do while循环
2022-11-17 10:56:09
857
1
原创 三子棋初步实现心得与代码
作为二维数组的初学者怎么实现三字棋一.1.一个游戏有着许许多多的功能与模块,所以不应该把东西都放在主函数里乱成一团,应该使用多个自定义函数来实现大部分功能,甚至就和我下面一样就一个game函数,游戏需要的多个功能就放在这个函数里实现,主函数只要写出逻辑与大概框架即可,这样某个功能出问题时也可以去对应得函数里修改,
2022-11-17 09:57:06
765
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人