社区
汇编语言
帖子详情
多个线程之间如何通信?
MHBBCRCPJ
2011-04-30 10:09:04
搜了一下,全都是VC和JAVA的,郁闷。
还有那种能够同时执行的多条指令队列是叫线程吧?
首先比如我想要实现在一个线程中执行一个操作之后告诉令一个线程这个操作执行完了的话,怎么弄?通过线程之间共享的逻辑尺(线程之间可以共享数据么?)?这样的话岂不是需要另一个线程持续不断地扫描这个逻辑尺?用CALL?也说不通吧?硬件有没有提供类似中断的机制呢(只有另一个线程才会相应的中断)?
...全文
595
7
打赏
收藏
多个线程之间如何通信?
搜了一下,全都是VC和JAVA的,郁闷。 还有那种能够同时执行的多条指令队列是叫线程吧? 首先比如我想要实现在一个线程中执行一个操作之后告诉令一个线程这个操作执行完了的话,怎么弄?通过线程之间共享的逻辑尺(线程之间可以共享数据么?)?这样的话岂不是需要另一个线程持续不断地扫描这个逻辑尺?用CALL?也说不通吧?硬件有没有提供类似中断的机制呢(只有另一个线程才会相应的中断)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大熊猫侯佩
2011-05-01
打赏
举报
回复
多线程的同步机制,不同OS有不同的方法,如果用ruby,java等高级玩意,可以比较省心。(也未必,
看一下ruby线程的可移植粗粒度实现...),如果是windows下,你看windows核心编程即可,如果还想
深入,再推荐windows内核的线程结构和内核消息传递
cnzdgs
2011-05-01
打赏
举报
回复
[Quote=引用 3 楼 mhbbcrcpj 的回复:]
你是从操作系统的角度说的么?我想知道的是CPU本身有没有提供硬件的支持。
[/Quote]
CPU没有提供支持。
YTerrenceLau
2011-04-30
打赏
举报
回复
我先澄清一个概念,大多数提到线程(尤其在CSDN这个‘软件’社区)都是指进程中的多线程。楼主说的“多条指令队列”可能指的是CPU的多线程(SMT中的T)。事实上CPU所定义的多线程可以认为是操作系统层面的多进程。
如果楼主指的是操作系统中的线程,无疑楼上几位已经回答了,如果指的是处理器中的多线程,我这里顺便作答:一般来说,如果不采用专用的进程通信机制或内存共享机制,一个进程(操作系统概念,你可以认为是处理器中的线程概念)无法感知另外一个进程到底发生了什么事情,但如果两个进程处于空间重叠的情况(如整个计算机运行一种特殊的系统或者普通操作系统中的内核态线程)仍然是即时感知的,就是一个任务更改了变量,另外一个任务可以立即获得这个更改,看起来跟操作系统中的一个进程内多个线程一样的效果。
yhshion_yhshion
2011-04-30
打赏
举报
回复
你说的是线程,这本身就应该是操作系统调度范畴,1楼正解
MHBBCRCPJ
2011-04-30
打赏
举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
如果被通知的线程有消息循环,可以通过发送自定义消息通讯;如果没有,可以用一个事件,被通知线程使用等待函数等待事件,由另一线程来触发该事件。
线程之间数据是共享的。
[/Quote]
你是从操作系统的角度说的么?我想知道的是CPU本身有没有提供硬件的支持。
cnzdgs
2011-04-30
打赏
举报
回复
前面回复不够严谨,应该说同一进程中的线程之间数据是共享的。
cnzdgs
2011-04-30
打赏
举报
回复
如果被通知的线程有消息循环,可以通过发送自定义消息通讯;如果没有,可以用一个事件,被通知线程使用等待函数等待事件,由另一线程来触发该事件。
线程之间数据是共享的。
尹成Python27天入门到项目实战
多
线程
实战多
线程
核心目标并发主
线程
与小弟
线程
多
线程
解决加速多
线程
的加速
线程
冲突基于类实现多
线程
基于类实现多
线程
的顺序与乱序互斥锁解决
线程
冲突死锁-使用锁要注意Rlock解决一个
线程
反复加锁单
线程
死锁创建...
多
线程
-
线程
之间
的
通信
线程
通信
就是当
多个
线程
共同操作共享的资源时,互相告知自己的状态以避免资源争夺。 2、
线程
通信
的方式
线程
通信
主要可以分为三种方式,分别为共享内存、消息传递和管道流。每种方式有不同的方法来实现。 共享内存...
线程
之间
的
通信
1.
多个
线程
并发执行时, 在默认情况下CPU是随机切换
线程
的,当我们需要
多个
线程
来共同完成一件任务,并且我们希望他们有规律的执行, 那么多
线程
之间
需要一些协调
通信
,以此来帮我们达到多
线程
共同操作一份数据。...
python多
线程
-
线程
间
通信
(全局变量、queue)
多个
线程
处理同一资源,但是任务不同 为什么要
通信
? 如果各个
线程
之间
各干各的,确实不需要
通信
,这样的代码也十分的简单。但这一般是不可能的,至少
线程
要和主
线程
进行
通信
,不然计算结果等内容无法取回。而...
多个
线程
之间
是如何进行
通信
的呢?
在现实应用中,很多时候都需要让
多个
线程
按照一定的次序来访问共享资源,例如,经典的生产者和消费者问题。这类问题描述了这样一种情况,假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库...
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章