当前位置: 首页 > news >正文

郑州最好的男科医院是什么医院防控措施有这些优化

郑州最好的男科医院是什么医院,防控措施有这些优化,百度推广开户流程,求个网站知乎Java 并发包#xff08;java.util.concurrent#xff0c;简称 JUC#xff09;提供了一系列的工具和框架#xff0c;用于简化并发编程。以下是 JUC 包中常见类的介绍#xff1a; Callable#xff1a; Callable 接口是 Java 提供的一个带返回值的任务接口#xff0c;类似于…Java 并发包java.util.concurrent简称 JUC提供了一系列的工具和框架用于简化并发编程。以下是 JUC 包中常见类的介绍 Callable Callable 接口是 Java 提供的一个带返回值的任务接口类似于 Runnable 接口但是它可以在执行结束后返回一个结果也可以抛出异常。通常与 ExecutorService 结合使用可以提交给线程池执行。 public class CallableUse {public static void main(String[] args) {//第一种写法FutureTaskInteger futureTask1 new FutureTaskInteger(new CallableInteger() {public Integer call() {int sum 0;for (int i 0; i 1001; i) {sum i;}return sum;}});Thread thread new Thread(futureTask1);thread.start();//第二种写法CallableInteger callable new CallableInteger() {Overridepublic Integer call() throws Exception {int sum 0;for (int i 0; i 1001; i) {sum i;}return sum;}};FutureTaskInteger futureTask2 new FutureTask(callable);Thread thread2 new Thread(futureTask2);thread2.start();} } 实现 Callable 接口的类必须实现 call() 方法该方法定义了需要执行的任务并可以返回一个结果。通过 ExecutorService 的 submit(Callable) 方法提交一个 Callable 任务返回一个 Futuretask 对象可以通过该对象获取任务执行的结果 ReentrantLock ReentrantLock 是一种可重入锁它提供了与 synchronized 关键字相同的功能即确保代码块在同一时刻只有一个线程执行但相比 synchronized 更灵活例如它支持公平性和非公平性以及可中断性等特性。 import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;public class ReentrantLockExample {private static final Lock lock new ReentrantLock();public static void main(String[] args) {new Thread(() - {lock.lock();try {System.out.println(Thread 1 acquired the lock);Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();} finally {lock.unlock();}}).start();new Thread(() - {lock.lock();try {System.out.println(Thread 2 acquired the lock);} finally {lock.unlock();}}).start();} }相对于synchronized优势有三 其提供了trylock(超过时间)加锁如果得不到锁对象一段时间后放弃加锁。 可以是公平锁在构造方法new ReentrantLock();可以给一个true开启 更加强大的唤醒机制synchronized基于锁的wait与notify唤醒的线程随机reentrantlock可以搭配Condition类实现唤醒可以唤醒指定线程 使用 ReentrantLock 的典型操作包括 调用 lock() 方法获取锁。在 try-finally 块中执行需要保护的临界区代码。调用 unlock() 方法释放锁。可以使用 ReentrantLock 的 tryLock() 方法尝试获取锁而不阻塞或者使用 lockInterruptibly() 方法在获取锁的过程中可以响应中断 原子类 JUC 提供了一系列的原子类如 AtomicInteger、AtomicLong、AtomicBoolean 等它们提供了一种线程安全的方式来进行原子操作保证了操作的原子性。这些类底层使用了 CASCompare And Swap操作来保证线程安全常用于需要高效并发操作的场景。详见文章常见锁策略synchronized内部原理以及CAS-CSDN博客 线程池 线程池是管理线程的一种机制它可以重用已创建的线程减少了线程创建和销毁的开销并且可以控制并发线程的数量。JUC 提供了 ThreadPoolExecutor 类来实现线程池也提供了一些方便的工厂方法如 Executors.newFixedThreadPool()、Executors.newCachedThreadPool() 等来创建不同类型的线程池。详见文章Java线程池 ThreadPoolExecutor, Executor-CSDN博客 Semaphore Semaphore 是一种计数信号量它可以限制同时访问某个资源的线程数量。它维护了一定数量的许可证每次线程访问资源前需要获取许可证如果许可证数量不足则线程将被阻塞。一旦线程使用完资源它将释放许可证使得其他线程可以继续访问资源。 import java.util.concurrent.Semaphore;public class SemaphoreExample {private static final Semaphore semaphore new Semaphore(2);public static void main(String[] args) {for (int i 0; i 5; i) {new Thread(() - {try {semaphore.acquire();System.out.println(Thread acquired semaphore);Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();} finally {semaphore.release();System.out.println(Thread released semaphore);}}).start();}} }Semaphore 的典型操作包括调用 acquire() 方法获取一个许可证如果没有可用的许可证则会阻塞。在 try-finally 块中执行需要获取许可证保护的代码。调用 release() 方法释放一个许可证。(PV操作) CountDownLatch CountDownLatch 是一种同步工具它可以使一个或多个线程等待其他线程执行完特定操作后再继续执行。它通过一个计数器来实现当计数器减为零时等待的线程可以继续执行。CountDownLatch 常用于实现线程之间的协调和同步。 public class CountDownLatchUse {public static void main(String[] args) throws InterruptedException {CountDownLatch countDownLatch new CountDownLatch(10);for (int i 0; i 10; i) {Thread thread new Thread(()-{int delay (int) (Math.random()*100001000);try {Thread.sleep(delay);} catch (InterruptedException e) {throw new RuntimeException(e);}countDownLatch.countDown();System.out.println(Thread.currentThread().getId());});thread.start();}countDownLatch.await();System.out.println(the end);} }CountDownLatch 的典型操作包括 创建 CountDownLatch 对象时指定初始计数器值。在需要等待的线程调用 await() 方法等待计数器归零。在其他线程中执行操作完成后调用 countDown() 方法递减计数器。可以通过 await(long timeout, TimeUnit unit) 方法设置等待超时时间或者通过 getCount() 方法获取当前计数器值。 综上一些方式都是为了解决多线程下线程安全以及提高效率的方式。
http://www.hkea.cn/news/14378423/

相关文章:

  • 网站制作工具宿迁宿城区屠园乡网站建设
  • 网站调研怎样做烟台建设集团网站
  • 厦门网站建设开发公司网站建设技术支持 会天下
  • 长春火车站封闭了吗兼职网站建设收费
  • 上鼎工程建设有限公司网站.php的网站是怎么做的
  • 网站建设的现状和未来wordpress媒体库管理
  • 深圳php电商网站开发wordpress 邮件美化
  • 做网站互联互通提供网站建设搭建
  • 百度网站建设优化企业网站制作报价
  • 网站问题seo解决方案网站内页产品 首页推荐
  • 做国际网站的上海高端网站公司微信平台微网站开发
  • 怎么做移动端网站计算像素成都定制软件开发公司
  • 去国外做非法网站吗公众平台推广
  • 婚庆影楼型网站开发爱企查官网
  • 通过企业画册宣传_网络网站建设_新闻媒体合作等方式_做儿童成长相册模版网站
  • 苏州网站建设-中国互联windows系统的vps网站防攻击
  • win7系统做asp网站企业logo设计思路
  • 以下哪一项不属于seo对网站推广的作用做企业网站设计
  • 商务网站建设营销景观设计学
  • 长春网站建设哪家好企业邮箱的推荐
  • 电商网站建设行情辽宁鹤城建设集团网站
  • 郑州艾特软件 网站建设wordpress数据库忘记了
  • 做go分析和kegg分析网站中英文网站用同域名
  • 天下网商自助建站系统如何建立视频号
  • 常用的网站推广的方式方法广西东晋建设有限公司网站
  • 知名网站有哪些网站专做盗版小说 会犯法吗
  • 淘宝网站框架招聘网站免费平台
  • 政务网站集约化建设wordpress 小说模版
  • 江苏省医院网站建设管理规范万网有域名怎么建网站
  • 网站开发 慕课网站快速排名优化