JUC就是java.util .concurrent工具包的简称。这是一个处理线程的工具包。

进程:进程是程序的一次执行,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
线程:线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径)。是程序使用CPU的最基本单位。
sleep: sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。
wait:线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
并发是多个任务交替使用CPU,同一时刻还是只有一个任务在跑,并行是多个任务同时跑。
您是对的。Java并发(Java Concurrency)是Java编程语言的一个重要部分,它允许程序同时执行多个任务,也称为线程。Java.util.concurrent包是Java SE库的一部分,它为Java开发者提供了多种并发实用工具。
这个包中的一些主要组件包括:

  1. 线程池(Thread Pools):允许您创建并管理一个线程池,以执行并发任务。
  2. 锁(Locks):提供了一种替代内置同步机制的机制,允许开发人员对代码块进行精细粒度的控制。
  3. 原子变量(Atomic Variables):提供了一种在多线程环境中进行原子操作的方式。
  4. 并发集合(Concurrent Collections):提供了一些并发集合类,例如ConcurrentHashMap和CopyOnWriteArrayList,这些类在多线程环境中表现良好。
  5. 工作窃取(Work-Stealing):允许线程在完成其任务后从其他线程中“窃取”工作。
  6. 并发工具(Concurrent Utilities):提供了诸如计时器、信号量等工具。
    Java.util.concurrent包使得开发人员能够更轻松地编写并发程序,同时减少了多线程环境中的一些常见问题,如死锁和竞态条件。除了上述提到的组件,Java.util.concurrent包还提供了许多其他有用的并发工具。例如:
  7. 倒计时门闩(CountDownLatch):允许一个或多个线程等待,直到门闩的计数器达到零。
  8. 循环栅栏(CyclicBarrier):允许一组线程互相等待,直到所有线程都达到某个公共屏障点。
  9. Semaphore(信号量):提供了一种控制对有限资源访问的方法。
  10. SynchronousQueue(同步队列):一个不存储元素的阻塞队列。每个插入操作必须等待一个相应的删除操作,反之亦然。
    通过使用这些工具,您可以更好地控制并发程序的执行流程,并减少并发问题,如死锁和竞态条件。这些工具的使用可以简化多线程编程,并提高程序的性能和可靠性。
    在编写并发程序时,重要的是要注意线程安全和正确使用同步机制。Java.util.concurrent包提供了一些同步工具,如锁和原子变量,可以帮助您实现线程安全。此外,您还应该了解并发编程中的常见问题,并采取适当的预防措施,以确保程序的正确性和可靠性。
    总之,Java.util.concurrent包是Java编程语言中一个非常有用的工具包,可以帮助您更好地处理线程和并发编程问题。通过使用这个包中的工具,您可以编写更高效、更可靠的并发程序。
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值