首页 > 试题广场 >

说说你了解的线程通信方式

[问答题]
在Java中提供了两种多线程通信方式分别是利用monitor实现通信方式和使用condition实现线程通信方式。使用不同的线程同步方式也就相应的使用不同的线程通信方式。当我们使用synchronize同步时就会使用monitor来实现线程通信,这里的monitor其实就是锁对象,其利用object的wait,notify,notifyAll等方法来实现线程通信。而使用Lock进行同步时就是使用Condition来实现线程通信,Condition对象通过Lock创建出来依赖于Lock对象,使用其await,sign或signAll方法实现线程通信。
发表于 2022-05-21 14:24:04 回复(0)
线程的通信方式有两种:monitor和condition两种。具体使用那种通信方式与线程同步的方式有关。对于Synchronized来说,使用的是monitor的同步方式。尝试用的方法有waite(),notify(),notifyAll().对于lock锁接口来说,使用的是condition,依赖于lock锁的创建而创建。常使用的方法有await(),signal(),signalAll();
发表于 2022-06-16 16:36:26 回复(0)
抹零头,抗敌神
发表于 2024-04-03 10:02:05 回复(0)
Synchronized:monitor的通信方式,线程通过Monitor调用wait()【进入等待状态】时,它就会释放锁并在此等待。notify()【单个线程】,notifyAll()【所有线程】唤醒 lock:condition通信方式,调用await()【进入等待状态】时,可以用signal(),signalAll();唤醒线程
发表于 2023-02-23 23:48:11 回复(0)
Monitor、Condition
发表于 2022-07-05 16:12:56 回复(0)
线程间的通信主要是通过monitor和condition来实现的,而monitor是synchronized的,是一个大的监视器,其中可以通过wait,notify,notifyAll来实现线程间的通信,而lock的话主要是休息室(condition),每个线程可以有一个属于自己的休息室,使用await,signal,signalAll方法实现线程通信
编辑于 2024-04-01 17:40:46 回复(0)
答: 共享内存:多个线程共享一块内存区域进行通信,使用同步机制保证线程安全。 消息传递:多个线程之间通过传递消息来进行通信,每个线程都有自己的私有内存,线程之间通过发送和接受消息来进行通信,需要使用队列或者信号量等机制来保证线程安全。
发表于 2024-03-27 21:40:24 回复(0)
Java的线程通信方式有monitor和condition synchronized:使用的是monitor的通信方式,利用Object类的wait()、notify()、notifyall()的方法进行通信 Lock:使用的是condition 使用的是Lock创建出来的lock对象本身,await()、sign、signall方式进行通信
编辑于 2024-02-28 21:00:49 回复(0)
25
发表于 2023-02-28 12:30:37 回复(0)
monitor和condition,monitor是synchronize的锁对象,使用wait和notify实现线程通信,condition对象是依赖于lock对象的用sing实现通信
发表于 2025-04-14 13:05:07 回复(0)
在Java中提供了两种多线程通信方式分别是利用Monitor实现通信方式和使用Condition实现线程通信方式。使用不同的线程同步方式也就相应的使用不同的线程通信方式。 ① 当使用synchronize同步时就会使用Monitor来实现线程通信,这里的Monitor其实就是锁对象,其利用object的wait,notify,notifyAll等方法来实现线程通信。 ② 当使用Lock进行同步时就是使用Condition来实现线程通信,Condition对象通过Lock创建出来依赖于Lock对象,使用其await,sign或signAll方法实现线程通信。
发表于 2025-03-18 15:56:19 回复(0)
monitor和condition,monitor是synchronize,condition是lock
发表于 2024-10-12 18:13:54 回复(0)
monitor:wait,notify,notifyAll condtion:await,signal,signalAll
发表于 2024-09-17 14:38:22 回复(0)
monitor和condition两种
发表于 2024-09-04 14:49:20 回复(0)
原先:常见的通信方式有两种。Monitor实现线程通信和Condition实现线程通信。如果是采用synchronized关键字进行同步,则需要依赖Monitor,该方式锁对象是任意的类型,所以诸如wait、notify、notifyAll这些方法是Object类的。一个线程通过Monitor调用wait时,它就会释放锁并在此等待,其他线程调用notify时就会唤醒在这里等待的一个线程,notifyAll则是唤醒所有等待线程。 Lock需要依赖Condition实现线程通信。Condition对象是由Lock对象创建,依赖于Lock对象,对应的方法则是await、signal、signalAll,作用和上述几个差不多。 之后:看最高赞。
发表于 2024-05-31 10:33:58 回复(0)
Java中提供两种多线程通信方式分别是monitor和condition 1.当使用synchronize同步时就会使用monitor方式,利用object的wait()、notify()、notifyAll()等方法来实现线程通信 2.当使用Lock同步时就会使用condition方式,通过使用await()、sign()或signAll()方法实现线程通信
发表于 2024-05-23 23:26:17 回复(0)
condtion和monitor两种
发表于 2024-05-20 22:16:07 回复(0)
在java中有两种线程通信方式,分别为moniter和condition,不同的线程同步方式对应使用不同的线程通信方式,当使用synchronized锁时,会使用monitor来实现线程通信,这里的monitor其实就是锁对象,通过调用Object类的wait,notify ,notifyAll方法来实现通信,当使用lock锁时会使用Condition来实现线程通信,Condition对象通过lock对象创建并依赖于lock对象,通过其await,sign,signAll方法实现线程通信
发表于 2024-05-15 18:58:11 回复(0)
Java提供了两个线程通信的方式,Monitor和Condition,当我们使用synchronized锁的时候使用Monitor来实现通信,方法有wait,notify notifyall 使用lock 锁就使用Condition来实现通信,方法有await sign signall
编辑于 2024-04-02 15:41:34 回复(0)
编辑于 2024-03-06 15:43:32 回复(0)