在多核CPU中,利用多线程并发编程,可以更加充分地利用每个核的资源在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),如果程序没有主动创建线程,则只会创建一个主线程。但这不代表JVM中只有一个线程,JVM实例在创建的时候,同时会创建很多其他的线程(比如垃圾收集器线程)。
多个线程同时操作某个临界资源可能出现业务安全问题。采用互斥访问加锁:把临界资源进行上锁,每次只允许一个线程进入访问完成后才解锁,允许其他进程进入
对代码块上锁快捷键:CTRL+ALT+T
对方法上锁在方法定义时加上synchronized关键字即可
典型应用:生产者-消费者模型实现方法:使用一个共享变量实现线程通信
一个可以复用线程的技术,当请求过多时用于降低系统开销ExecutorService代表线程池接口
Executors工具类底层是ThreadPoolExecutor,但在大型并发系统环境使用Executors可能出现系统风险
一种控制任务延时调用,或者周期调用的技术实现方式::①Timer ②ScheduledExecutorService定时器
ScheduledExecutorService内部是一个线程池,一个任务不会干扰其他任务ScheduledExecutorService在日常开发中更加常用
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |