首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
说说你了解的线程通信方式
[问答题]
说说你了解的线程通信方式
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(261)
分享
纠错
32个回答
添加回答
36
Chaos1874
在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)
27
牛客793464225号
线程的通信方式有两种:monitor和condition两种。具体使用那种通信方式与线程同步的方式有关。对于Synchronized来说,使用的是monitor的同步方式。尝试用的方法有waite(),notify(),notifyAll().对于lock锁接口来说,使用的是condition,依赖于lock锁的创建而创建。常使用的方法有await(),signal(),signalAll();
发表于 2022-06-16 16:36:26
回复(0)
2
佩奇大大
抹零头,抗敌神
发表于 2024-04-03 10:02:05
回复(0)
2
Java开发外卖员
Synchronized:monitor的通信方式,线程通过Monitor调用wait()【进入等待状态】时,它就会释放锁并在此等待。notify()【单个线程】,notifyAll()【所有线程】唤醒 lock:condition通信方式,调用await()【进入等待状态】时,可以用signal(),signalAll();唤醒线程
发表于 2023-02-23 23:48:11
回复(0)
2
牛客_正
Monitor、Condition
发表于 2022-07-05 16:12:56
回复(0)
1
钟情于风TuT
线程间的通信主要是通过monitor和condition来实现的,而monitor是synchronized的,是一个大的监视器,其中可以通过wait,notify,notifyAll来实现线程间的通信,而lock的话主要是休息室(condition),每个线程可以有一个属于自己的休息室,使用await,signal,signalAll方法实现线程通信
编辑于 2024-04-01 17:40:46
回复(0)
1
Penalize
答: 共享内存:多个线程共享一块内存区域进行通信,使用同步机制保证线程安全。 消息传递:多个线程之间通过传递消息来进行通信,每个线程都有自己的私有内存,线程之间通过发送和接受消息来进行通信,需要使用队列或者信号量等机制来保证线程安全。
发表于 2024-03-27 21:40:24
回复(0)
1
牛客380258662号
Java的线程通信方式有monitor和condition synchronized:使用的是monitor的通信方式,利用Object类的wait()、notify()、notifyall()的方法进行通信 Lock:使用的是condition 使用的是Lock创建出来的lock对象本身,await()、sign、signall方式进行通信
编辑于 2024-02-28 21:00:49
回复(0)
1
狗不言呆子与猫
25
发表于 2023-02-28 12:30:37
回复(0)
0
也不容易的可乐很高大
Java提供了两个线程通信的方式,Monitor和Condition,当我们使用synchronized锁的时候使用Monitor来实现通信,方法有wait,notify notifyall 使用lock 锁就使用Condition来实现通信,方法有await sign signall
编辑于 2024-04-02 15:41:34
回复(0)
0
有礼貌的代码渣渣bbq了
编辑于 2024-03-06 15:43:32
回复(0)
0
Rainbow_7
synchronize:monitor (wait、notify/notify all) lock:condition(await、signal/signal all)
编辑于 2024-02-22 17:11:26
回复(0)
0
中國移不動
1、使用wait()和notify()或notifyAll(): 这是Java中最基本的线程通信方式,通常用于线程间的协作和等待特定条件满足。wait()方法使线程进入等待状态,而notify()或notifyAll()方法用于唤醒等待的线程。 2、使用BlockingQueue: BlockingQueue是线程安全的队列,它提供了一种方便的方式,让一个线程等待另一个线程的输出。它通常用于生产者-消费者问题的解决。 3、使用CountDownLatch和CyclicBarrier: CountDownLatch和CyclicBarrier是用于线程协作的同步工具类。CountDownLatch允许一个或多个线程等待一组操作完成,而CyclicBarrier允许一组线程相互等待,然后同时开始执行。
发表于 2023-09-22 11:04:10
回复(0)
0
小白啊吧
线程通信方式有两种一种是利用Monitor实现线程通信,另一种方式是利用Condition实现线程通信。线程通信方式取决于线程同步方式,如果使用Synchronized方式实现线程同步则是Monitor方式实现通信,包括wait。notify,notifAll方法;如果使用Lock锁方式实现同步则用Condition方式实现线程通信,方法有await,signal,signalAll。Synchronized只有一个Monitor对象只有一个等待队列,Lock可以有多个Condition对象可以有多个等待队列。
发表于 2023-09-11 10:31:20
回复(0)
0
神奇的打工人加油
线程通信方式有Monitor和Condition 不同的线程同步方式(加锁)就相应的使用不同的线程通信方式 1.Monitor synchronized底层就是Monitor实现的,monitor就是锁对象,它利用obejct的方法:wait()、notify()、notifyAll()等方法来实现线程通信 2.Condition Lock锁进行同步时就是使用Condition来实现线程通信,Condition对象依赖于Lock创建,通过使用await()、sigin、signAll等方法实现线程通信
发表于 2023-08-22 17:11:10
回复(0)
0
深情的三文鱼在写面经
两种锁 对应的就是两种同步机制 其中 synchronize同步使用的是monitor 利用object的wait,notify等方法实现 而使用lock进行同步时使用的是condition来实现线程通信 其中利用wait等方法进行实现线程通信
发表于 2023-08-16 10:36:02
回复(0)
0
jdasji
线程通信通常有monitor和condition两种。 synchronized关键字使用的就是monitor,具体是利用Object的wait,notifly,notifAll等方法实现线程通信 lock锁创建condition对象调用await,sign,signAll方法实现
发表于 2023-08-11 14:50:13
回复(0)
0
牛客601932463号
java中的线程通信主要是通过monitor和condition来实现线程通信的 使用不同的线程同步方式就提供相应的通信方式,如使用synchronized同步时就会使用monitor来实现线程通信,依赖monitor实现线程通信的话,monitor就是锁对象.可以调用对应的object方法来实现线程通信;wait()释放锁并等待唤醒,notify()、notifyAll()能够唤醒其他等待中的线程 使用Lock实现线程通信的话就是依赖Condition来实现的,Condition中定义的方法与Objcet中的类似;有await()/signal()/signalAll()
发表于 2023-08-02 12:19:15
回复(0)
0
tjym
实现线程通信有两种方式: 1.Monitor; 2.Condition。
发表于 2023-07-12 13:52:16
回复(0)
0
牛客557938030号
#23届找工作求助阵地#
发表于 2023-07-04 19:34:19
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
上传者:
real19931
难度:
32条回答
261收藏
1309浏览
热门推荐
相关试题
体育课测验(二)
广度优先搜索(BFS)
拓扑排序
dfs
评论
(2)
游戏内数据分析涉猎的少,如何证明自...
评论
(1)
之前的经历中单品数据分析的经验丰富...
评论
(1)
什么样的人适合做数据分析
评论
(1)
2022 诺瓦科技 Perl re...
perl
System Verilog
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题