![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多线程
文章平均质量分 63
多线程
jinyangjie0
学如逆水行舟,不进则退
展开
-
Java多线程入门10-线程池的基本使用
经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。如果我们提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。原创 2022-01-05 21:12:38 · 87 阅读 · 0 评论 -
Java多线程入门9-线程通信和生产者消费者问题
多线程各自独立运行,不可避免的,会遇到线程间互通消息的需求,即线程通信。线程是在进程中生成的,线程间的通信比进程间通信方便,开销也更小。线程无需另外建立线程间的连接,通过共享进程资源,即可进行通信。线程通信基本方法:1、管程法。即设立一个共享缓冲区存放通信数据。2、信号灯法。类似交通灯,即设立一个共享标志位,通过标志位传递状态信息。原创 2022-01-04 23:10:01 · 372 阅读 · 0 评论 -
Java多线程入门8-死锁
通过锁机制解决了线程同步问题,但同时带来了一个新问题——死锁。死锁是指多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,导致线程循环等待进程停止的问题。当某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”问题。原创 2022-01-02 22:14:30 · 290 阅读 · 0 评论 -
Java多线程入门7-线程同步锁机制sysnchronized和Lock
使用多线程,不可避免会碰上同个资源争抢的问题,即线程同步问题。比如节假日的抢票,多个人同时申请买票时,都会让票数减一,如何确保票数正确,不会发生超卖问题?Java提供了两种同步锁机制,synchronzied和Lock锁。原创 2022-01-02 17:35:06 · 692 阅读 · 0 评论 -
Java多线程入门6-守护线程和线程优先级
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 。用户线程很好理解,我们平时编写运行的线程都是用户线程。守护线程是在后台运行的一种服务。用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆。Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器参考优先级决定应该调度哪个线程来执行。优先级高的线程获取CPU资源的概率较大。原创 2021-12-30 17:19:28 · 189 阅读 · 0 评论 -
Java多线程入门5-线程状态和线程方法
线程状态有初识状态、就绪状态/运行中状态、阻塞状态、等待状态、超时等待状态、终止状态。线程方法有sleep()、yield()、join()、wait()、notify()、notifyall()原创 2021-12-30 15:58:00 · 563 阅读 · 0 评论 -
Java多线程入门4-实现Callable接口创建线程
Callable接口类似于Runnable,但 Runnable不返回结果,也不能抛出被检查的异常。原创 2021-12-30 11:10:48 · 661 阅读 · 0 评论 -
Java多线程入门3-实现Runnable接口创建线程
创建线程的另一个方法,创建一个类实现`Runnable`接口,并重写`run`方法。然后在创建Thread时将这个类的实例作为参数传入,并用start()方法启动线程。原创 2021-12-29 21:42:13 · 578 阅读 · 0 评论 -
Java多线程入门2-继承Thread类创建线程
创建线程的方法之一是,创建一个类继承Thread类,重写run()方法。然后这个子类调用start()方法启动线程。原创 2021-12-29 20:14:30 · 597 阅读 · 0 评论 -
Java多线程入门1-认识进程和线程
进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是,同类的多个线程共享进程的堆和方法区资源。原创 2021-12-29 17:34:20 · 186 阅读 · 0 评论