初步理解 异步和多线程 线程的本质 线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入CPU资源来运行和调度。多线程可以制造异步的效果.有阻塞(不干活,白白等待)就需要异步 无阻塞无需异步,无需多线程.。 Java 2023-10-25 44 点赞 0 评论 66 浏览
多线程实现多窗口售票 多线程实现售票核心是共享资源的线程安全,因为如果不限制对共享数据的访问,就会导致出现卖同一张票,卖多票的情况。票数是共享资源,所以对票数进行访问和修改需要进行同步(排队)。在对票数进行修改的函数上使用synchronized关键字形成同步方法(默认是该类的对象锁)。这样每次代码运行到该处都会去锁池查看该对象锁是否空闲,空闲就获取锁并进入函数,如果已经有其他线程获取了该锁,就排队等待,等到获得锁的线程运行完毕释放锁才可以进行抢夺。(不过如果没有进行线程休眠,大概率会某一个线程刚释放锁,然后又抢到了 Other 2023-10-02 51 点赞 0 评论 77 浏览