avatar
Y*m
1
我要是想要用高压锅蒸东西,应该用什么容器好?谁知道不?
我有不锈钢小盆儿,盘子,瓷器,哪个不会被压没了?
avatar
i*i
2
avatar
s*g
3
两块SLI用了大半年了,后来发现一块跑SC2也没什么问题,想local cl出一块。
卡很干净,附件盒子说明书都有,还有一年多保修,能卖多少钱呢?没什么概念,$50
avatar
g*t
4
我们组每年卖x亿的量的嵌入式CPU
出过不少事故
我多年前也贡献过几行ROM code
理论上,你那个问题是没有答案的
因为你没写清楚while loop里面干啥了
也没说明白别的线程在干啥
你要是while loop里证明黎曼猜想呢?自己按按钮呢?改flag呢?...
实践上,
要先查自己应用的uncertainty sources
才能真正决定怎么办好
一般人就用atomic完事
avatar
O*e
5
Title:Animal models of IBD: linkage to human disease
Journal: Current Opinion in Pharmacology
Volume 10, Issue 5, October 2010, Pages 578-587
Thanks in advance!!
avatar
l*3
6
我很快。。。我不知道。。。
avatar
i*i
7
avatar
g*u
8
可以上ebay看看成交价做参考

50

【在 s*****g 的大作中提到】
: 两块SLI用了大半年了,后来发现一块跑SC2也没什么问题,想local cl出一块。
: 卡很干净,附件盒子说明书都有,还有一年多保修,能卖多少钱呢?没什么概念,$50
: ?

avatar
w*g
9
严重同意。据我理解,bihai的loop里其实在做一些
CPU intensive的事情,所以真不在乎在atomic上浪费
几个CPU cycle。

【在 g****t 的大作中提到】
: 我们组每年卖x亿的量的嵌入式CPU
: 出过不少事故
: 我多年前也贡献过几行ROM code
: 理论上,你那个问题是没有答案的
: 因为你没写清楚while loop里面干啥了
: 也没说明白别的线程在干啥
: 你要是while loop里证明黎曼猜想呢?自己按按钮呢?改flag呢?...
: 实践上,
: 要先查自己应用的uncertainty sources
: 才能真正决定怎么办好

avatar
Y*Z
10
YOUR E-MAIL
avatar
F*t
11
hahaha
不锈钢肯定不会没有

【在 l********3 的大作中提到】
: 我很快。。。我不知道。。。
avatar
s*i
12
上面视频还没看。
但是从降魔篇感觉他痛苦过。有一种大彻大悟后的悲悯。
avatar
s*g
13
上下差很多,品牌不同,$50-$90都有。
ebay fee太高了,$50 local出了就行。

【在 g***u 的大作中提到】
: 可以上ebay看看成交价做参考
:
: 50

avatar
c*e
14
bihai这么做,逻辑上有问题。
UI按钮到底想让這個while loop运行几次?一次还是250次?运行多少次是根据什么来
定的?
确实,要看while loop里面到底要运行什么东西。
发信人: bihai (学得不好), 信区: Programming
标 题: 用volatile退出线程对不对?(C++)
发信站: BBS 未名空间站 (Sun Jul 9 06:49:16 2017, 美东)
网上很多说volatile和线程就没有关系。
我现在计划在线程里面
volatile bool quit=false;
void worker(){
while(!quit){
...
}
}
然后在一个UI的按钮那里
quit=true;
这样对不对?

【在 g****t 的大作中提到】
: 我们组每年卖x亿的量的嵌入式CPU
: 出过不少事故
: 我多年前也贡献过几行ROM code
: 理论上,你那个问题是没有答案的
: 因为你没写清楚while loop里面干啥了
: 也没说明白别的线程在干啥
: 你要是while loop里证明黎曼猜想呢?自己按按钮呢?改flag呢?...
: 实践上,
: 要先查自己应用的uncertainty sources
: 才能真正决定怎么办好

avatar
Y*e
15
呵呵,可爱

【在 l********3 的大作中提到】
: 我很快。。。我不知道。。。
avatar
w*0
16
看标题就心碎呀.好喜欢星爷哦.
avatar
t*g
17
呵呵,赶紧卖把。
昨天看见你这帖子突然想起来我升级下来的4670还扔角落里。craigslist发了个帖子刚
刚$35给卖了。

【在 s*****g 的大作中提到】
: 上下差很多,品牌不同,$50-$90都有。
: ebay fee太高了,$50 local出了就行。

avatar
d*a
18
bihai的代码,UI进程设置一个flag变量,计算进程读到flag的变化后就退出了,确实
是用volatile就够了。
这种情况,最常见的是用IPC机制,简单可靠,也不需要关心下面的nasty的细节。IPC
的性能开销大一些,但计算进程都要退出了,这里没有性能上的问题。

【在 g****t 的大作中提到】
: 我们组每年卖x亿的量的嵌入式CPU
: 出过不少事故
: 我多年前也贡献过几行ROM code
: 理论上,你那个问题是没有答案的
: 因为你没写清楚while loop里面干啥了
: 也没说明白别的线程在干啥
: 你要是while loop里证明黎曼猜想呢?自己按按钮呢?改flag呢?...
: 实践上,
: 要先查自己应用的uncertainty sources
: 才能真正决定怎么办好

avatar
c*y
19
不锈钢
avatar
i*i
20
刘德华比星爷年龄还大, 为啥星爷看起来老多了?
avatar
a*g
21
local好出么
我们这乡下,恐怕不好卖阿
220能卖几个钱
avatar
g*t
22
我喜欢用具体的例子代替不可判定情况的出现。
咱们假设bihai那个loop里面有一段是穷举黎曼猜想,
根据分支来调用OS别的硬件部分.
那这个问题是没办法回答什么是最好的办法了。
所以可能还是要明确那几路不确定性才行。


: bihai的代码,UI进程设置一个flag变量,计算进程读到flag的变化后就退出了
,确实

: 是用volatile就够了。

: 这种情况,最常见的是用IPC机制,简单可靠,也不需要关心下面的nasty的细节
。IPC

: 的性能开销大一些,但计算进程都要退出了,这里没有性能上的问题。



【在 d***a 的大作中提到】
: bihai的代码,UI进程设置一个flag变量,计算进程读到flag的变化后就退出了,确实
: 是用volatile就够了。
: 这种情况,最常见的是用IPC机制,简单可靠,也不需要关心下面的nasty的细节。IPC
: 的性能开销大一些,但计算进程都要退出了,这里没有性能上的问题。

avatar
d*2
23
这点压力小意思,啥都行。
avatar
i*i
24
周星星的头发怎么花白如斯啊
avatar
f*t
25
就说$90 OBO就行了,让买家他们自己还价
avatar
d*a
26
把bihai的代码重写一下会看得清楚些。
void worker(){
while(true){
// check quit flag
if (quit)
return;
// start/continue the computation
...
}
}
从结构上说,其实并没有什么不确定的地方。UI thread只改变quit变量,并不改变其
它的共享变量。

【在 g****t 的大作中提到】
: 我喜欢用具体的例子代替不可判定情况的出现。
: 咱们假设bihai那个loop里面有一段是穷举黎曼猜想,
: 根据分支来调用OS别的硬件部分.
: 那这个问题是没办法回答什么是最好的办法了。
: 所以可能还是要明确那几路不确定性才行。
:
:
: bihai的代码,UI进程设置一个flag变量,计算进程读到flag的变化后就退出了
: ,确实
:
: 是用volatile就够了。
:
: 这种情况,最常见的是用IPC机制,简单可靠,也不需要关心下面的nasty的细节

avatar
l*2
27
哈哈,高压锅蒸东西,头次听说
完了来报告一下
avatar
C*g
28
失去了才知道失去了什么。
avatar
t*s
29
低端卡就留着,卖不了几个钱,万一机器运行不佳,可以用作替换,排除故障

【在 a*********g 的大作中提到】
: local好出么
: 我们这乡下,恐怕不好卖阿
: 220能卖几个钱

avatar
g*t
30
可能会有看不见的OS控制的中断进来吧?
例如ADC读数据什么的。
他那几个省略号也可能再查一次quit什么的


: 把bihai的代码重写一下会看得清楚些。

: void worker(){

: while(true){

: // check quit flag

: if (quit)

: return;

: // start/continue the computation

: ...

: }

: }



【在 d***a 的大作中提到】
: 把bihai的代码重写一下会看得清楚些。
: void worker(){
: while(true){
: // check quit flag
: if (quit)
: return;
: // start/continue the computation
: ...
: }
: }

avatar
Y*m
31

就没一个干过的? :) 不会吧? 想知道亲身的经历, 否则我的
容器化在里面, 我找谁诉苦啊?

【在 Y******m 的大作中提到】
: 我要是想要用高压锅蒸东西,应该用什么容器好?谁知道不?
: 我有不锈钢小盆儿,盘子,瓷器,哪个不会被压没了?

avatar
t*g
32
嗯,我还留着一个当年$5 AR搞的8400GS做亮机卡。

【在 t*****s 的大作中提到】
: 低端卡就留着,卖不了几个钱,万一机器运行不佳,可以用作替换,排除故障
avatar
d*a
33
中断和读I/O的behavior是一样的吧,不管quit是volatile还是atomic类型。
再查一次quit是不要紧的。处理器的内存模型,必须保证单机访问内存的一致性,不会
说读quit拿到新值后,再读一次却拿到老值。
回到开始,我同意你说的原则,与性能无关的代码,应该越简单越好。对bihai的代码
来说,不管用volatile还是atomic类型的flag,都牵涉到硬件和系统底层的细节;用
IPC机制,更简单明了。在volatile和atomic之间,拿不准的时候应该用atomic,这也
是general guideline。但C++支持atomic,C并不支持,要用volatile再手动插入
memory barrier指令。

【在 g****t 的大作中提到】
: 可能会有看不见的OS控制的中断进来吧?
: 例如ADC读数据什么的。
: 他那几个省略号也可能再查一次quit什么的
:
:
: 把bihai的代码重写一下会看得清楚些。
:
: void worker(){
:
: while(true){
:
: // check quit flag
:
: if (quit)
:
: return;

avatar
F*t
34
你认真的?

【在 Y******m 的大作中提到】
:
: 就没一个干过的? :) 不会吧? 想知道亲身的经历, 否则我的
: 容器化在里面, 我找谁诉苦啊?

avatar
g*t
35
赞总结。
十个字


: 中断和读I/O的behavior是一样的吧,不管quit是volatile还是atomic类型。

: 再查一次quit是不要紧的。处理器的内存模型,必须保证单机访问内存的一致性
,不会

: 说读quit拿到新值后,再读一次却拿到老值。

: 回到开始,我同意你说的原则,与性能无关的代码,应该越简单越好。对bihai
的代码

: 来说,不管用volatile还是atomic类型的flag,都牵涉到硬件和系统底层的细节
;用

: IPC机制,更简单明了。在volatile和atomic之间,拿不准的时候应该用atomic
,这也

: 是general guideline。但C 支持atomic,C并不支持,要用volatile再手动插入

: memory barrier指令。



【在 d***a 的大作中提到】
: 中断和读I/O的behavior是一样的吧,不管quit是volatile还是atomic类型。
: 再查一次quit是不要紧的。处理器的内存模型,必须保证单机访问内存的一致性,不会
: 说读quit拿到新值后,再读一次却拿到老值。
: 回到开始,我同意你说的原则,与性能无关的代码,应该越简单越好。对bihai的代码
: 来说,不管用volatile还是atomic类型的flag,都牵涉到硬件和系统底层的细节;用
: IPC机制,更简单明了。在volatile和atomic之间,拿不准的时候应该用atomic,这也
: 是general guideline。但C++支持atomic,C并不支持,要用volatile再手动插入
: memory barrier指令。

avatar
R*s
36
摆脱, 高压锅又不是炼钢炉。。

【在 Y******m 的大作中提到】
:
: 就没一个干过的? :) 不会吧? 想知道亲身的经历, 否则我的
: 容器化在里面, 我找谁诉苦啊?

avatar
b*i
37
大家讨论很热烈。看来真的不在乎atomic上浪费几个时钟。

【在 w***g 的大作中提到】
: 严重同意。据我理解,bihai的loop里其实在做一些
: CPU intensive的事情,所以真不在乎在atomic上浪费
: 几个CPU cycle。

avatar
o*1
38
瓷器用过。
文科啊,肯定哪个都坏不了。所谓高压锅,正常工作时候的压力不过1点几个大气压而
已。

【在 Y******m 的大作中提到】
: 我要是想要用高压锅蒸东西,应该用什么容器好?谁知道不?
: 我有不锈钢小盆儿,盘子,瓷器,哪个不会被压没了?

avatar
b*i
39
UI按钮是让线程优美退出。本来这个while是一直运行的。
具体的例子,比如这个线程是一个lua的bytecode解释程序,那么while的条件就是看看
有没有下一个bytecode了,或者是不是要退出了。如果没有其他的代码了,或者要退出
了,这个解释程序的线程就退出。这个UI的按钮就是告诉线程在还有bytecode的代码的
时候就退出。
void luaInterpreter(...){
while(!quit && hasNextByteCode()){
processNextByteCode();
}
...
}
quit变量和Lua的解释程序的过程没有任何关系。所以我觉得reordering在这个应用里
面是没有关系的。另外bool在一个线程里写其他里读也不用保护。就剩下cache
coherence问题了。好像没有人提出过。

【在 c*********e 的大作中提到】
: bihai这么做,逻辑上有问题。
: UI按钮到底想让這個while loop运行几次?一次还是250次?运行多少次是根据什么来
: 定的?
: 确实,要看while loop里面到底要运行什么东西。
: 发信人: bihai (学得不好), 信区: Programming
: 标 题: 用volatile退出线程对不对?(C++)
: 发信站: BBS 未名空间站 (Sun Jul 9 06:49:16 2017, 美东)
: 网上很多说volatile和线程就没有关系。
: 我现在计划在线程里面
: volatile bool quit=false;

avatar
l*3
40
文科呀。。。哈哈。。。还以为你早就煮了吃啦。。。

【在 Y******m 的大作中提到】
:
: 就没一个干过的? :) 不会吧? 想知道亲身的经历, 否则我的
: 容器化在里面, 我找谁诉苦啊?

avatar
c*e
41
while(!quit && hasNextByteCode()){
這個!quit && hasNextByteCode()是atomic的吗?

【在 b***i 的大作中提到】
: UI按钮是让线程优美退出。本来这个while是一直运行的。
: 具体的例子,比如这个线程是一个lua的bytecode解释程序,那么while的条件就是看看
: 有没有下一个bytecode了,或者是不是要退出了。如果没有其他的代码了,或者要退出
: 了,这个解释程序的线程就退出。这个UI的按钮就是告诉线程在还有bytecode的代码的
: 时候就退出。
: void luaInterpreter(...){
: while(!quit && hasNextByteCode()){
: processNextByteCode();
: }
: ...

avatar
k*u
42
瓷的,但不能是骨瓷那种薄的,得厚瓷器
avatar
b*i
43
这里,既然说是lua的解释程序,它就不需要atomic,就是每个lua一个解释程序线程,
每个线程解释的是不同的bytecode,根本没有共享的信息,除了quit这个bool.我觉得一
个bool不需要atomic

【在 c*********e 的大作中提到】
: while(!quit && hasNextByteCode()){
: 這個!quit && hasNextByteCode()是atomic的吗?

avatar
k*u
44
瓷的,但不能是骨瓷那种薄的,得厚瓷器
avatar
g*t
45
你没有给设计约束的情况下,在volatile 和 atomic中间肯定选atomic


: 大家讨论很热烈。看来真的不在乎atomic上浪费几个时钟。



【在 b***i 的大作中提到】
: 这里,既然说是lua的解释程序,它就不需要atomic,就是每个lua一个解释程序线程,
: 每个线程解释的是不同的bytecode,根本没有共享的信息,除了quit这个bool.我觉得一
: 个bool不需要atomic

avatar
l*t
46
又不是微波炉,怎么会化呢?

【在 Y******m 的大作中提到】
:
: 就没一个干过的? :) 不会吧? 想知道亲身的经历, 否则我的
: 容器化在里面, 我找谁诉苦啊?

avatar
b*i
47
我就是想问问到底错在哪
其实我觉得我这种情况用volatile没错,或者大家提到的memory barrier和lock都不是
问题。大多数情况在多线程下用atomic,但是这个特殊的情况有什么问题还没有人说清
楚。

【在 g****t 的大作中提到】
: 你没有给设计约束的情况下,在volatile 和 atomic中间肯定选atomic
:
:
: 大家讨论很热烈。看来真的不在乎atomic上浪费几个时钟。
:

avatar
Y*m
48

嗯. 灰肠.

【在 F*******t 的大作中提到】
: 你认真的?
avatar
g*t
49
我要是有人中断后,读你这个quit呢?
如果我的中断是快速硬件来的。例如电池没电了
读数据备份。
没有atomic, i = 1这句话
都未完成,硬件可能就读了。硬件读的信号
如果足够快,那在它的眼里,你这个变量的对应的
内存值就是不稳定的。


: 我就是想问问到底错在哪

: 其实我觉得我这种情况用volatile没错,或者大家提到的memory barrier
和lock
都不是

: 问题。大多数情况在多线程下用atomic,但是这个特殊的情况有什么问题
还没有
人说清

: 楚。



【在 b***i 的大作中提到】
: 我就是想问问到底错在哪
: 其实我觉得我这种情况用volatile没错,或者大家提到的memory barrier和lock都不是
: 问题。大多数情况在多线程下用atomic,但是这个特殊的情况有什么问题还没有人说清
: 楚。

avatar
Y*m
50

"文科"啥意思?
不过我觉得如果压力大, 会发生什么反应不?

【在 o*******1 的大作中提到】
: 瓷器用过。
: 文科啊,肯定哪个都坏不了。所谓高压锅,正常工作时候的压力不过1点几个大气压而
: 已。

avatar
w*g
51
你理解没错,我给你endorse了: bihai这个volatile用得没错。
我们卖弄学问也希望你理解:)

:我就是想问问到底错在哪
avatar
Y*m
52

我有些CorningWare, 蛮薄,你的意思是不行?
我最想知道谁回个帖子说,我把这个放进去, 压完了没事儿.
好像大家都在说"应该没事儿吧?" :)

【在 k******u 的大作中提到】
: 瓷的,但不能是骨瓷那种薄的,得厚瓷器
avatar
c*e
53
你要把完整的程序贴上来,才能对症下药。你这样遮遮掩掩的,没人能帮你。

【在 b***i 的大作中提到】
: 我就是想问问到底错在哪
: 其实我觉得我这种情况用volatile没错,或者大家提到的memory barrier和lock都不是
: 问题。大多数情况在多线程下用atomic,但是这个特殊的情况有什么问题还没有人说清
: 楚。

avatar
F*t
54
hoo hoo hoo
那你到底压了没有?

【在 Y******m 的大作中提到】
:
: 我有些CorningWare, 蛮薄,你的意思是不行?
: 我最想知道谁回个帖子说,我把这个放进去, 压完了没事儿.
: 好像大家都在说"应该没事儿吧?" :)

avatar
b*i
55
这怎么还需要完整地程序,就是一个目的不行吗?
比如,计算矩阵乘法,需要80000x20000的自乘,可能需要很久吧。比如需要1小时。那
么,主程序有一个按钮,写着“开始”,还有一个本来是灰色的,写着“终止”
开始后,UI的函数就生成一个线程来执行乘法。可能是1个线程,也可能是多个。算了
20分钟,程序操作员发现有错误,需要终止计算重新开始,于是点击“终止”。当然,
线程们开始后这个“终止”按钮就不是灰色的了。
那么,此时,终止的UI函数就设置这个bool变量quit为真。然后个线程看到后就结束。
线程内部的乘法要经常查看quit变量。虽然不是while,但是就是那个意思。
for(rowA=0;rowA<20000;rowA++) {
for(rowB=0;rowB<20000;rowB++){
sum=0;
for(i=0;i<80000;i++)
sum+=A[rowA][i]*B[rowB][i];//A*B'
C[rowA][rowB]=sum;
}
if (quit)
break;
}

【在 c*********e 的大作中提到】
: 你要把完整的程序贴上来,才能对症下药。你这样遮遮掩掩的,没人能帮你。
avatar
Y*m
56

没敢, 现在想周六压...

【在 F*******t 的大作中提到】
: hoo hoo hoo
: 那你到底压了没有?

avatar
w*g
57
我再给你最后来一击:
#include
void loop_on_atomic (std::atomic *p) {
for (;;) {
if (*p) break;
}
}
g++ -std=c++11 -o xxx.s -S -O3 xxx.cpp
_Z14loop_on_atomicPSt6atomicIiE:
.LFB325:
.cfi_startproc
.p2align 4,,10
.p2align 3
.L2:
movl (%rdi), %eax
testl %eax, %eax
je .L2
rep ret
如果只是读取基本类型,atomic没有任何overhead啊。
咱move on吧。

【在 b***i 的大作中提到】
: 这怎么还需要完整地程序,就是一个目的不行吗?
: 比如,计算矩阵乘法,需要80000x20000的自乘,可能需要很久吧。比如需要1小时。那
: 么,主程序有一个按钮,写着“开始”,还有一个本来是灰色的,写着“终止”
: 开始后,UI的函数就生成一个线程来执行乘法。可能是1个线程,也可能是多个。算了
: 20分钟,程序操作员发现有错误,需要终止计算重新开始,于是点击“终止”。当然,
: 线程们开始后这个“终止”按钮就不是灰色的了。
: 那么,此时,终止的UI函数就设置这个bool变量quit为真。然后个线程看到后就结束。
: 线程内部的乘法要经常查看quit变量。虽然不是while,但是就是那个意思。
: for(rowA=0;rowA<20000;rowA++) {
: for(rowB=0;rowB<20000;rowB++){

avatar
o*1
58
道歉。
我意识到这个玩笑非常不合适,是对所有文科同学的冒犯。在此我谨向各位真诚地道歉
,希望能得到大家的原谅。
大部分corning都是钢化的,肯定不会有问题。一点几个大气压对几乎所有的固体来说
都是nothing。软软的食物压几十分钟,都没有发生任何反应吧?当然,除非你能把水
烧干了再把食物烧糊,那样可能会在盘子上留下来去不掉的焦痕。

【在 Y******m 的大作中提到】
:
: 没敢, 现在想周六压...

avatar
b*i
59
这不正说明对于bool变量, volatile足够了吗?当然,atomic的方法在x86上是没有
overhead的,不知道ARM等上有没有

【在 w***g 的大作中提到】
: 我再给你最后来一击:
: #include
: void loop_on_atomic (std::atomic *p) {
: for (;;) {
: if (*p) break;
: }
: }
: g++ -std=c++11 -o xxx.s -S -O3 xxx.cpp
: _Z14loop_on_atomicPSt6atomicIiE:
: .LFB325:

avatar
Y*m
60

哈哈哈,没啥不合适吧? :) 不过为啥是对文科同学的冒犯,
还是不懂。 就是说文科同学笨? :)
我觉得啊,这还是理论上的, 等我实践完了, 我告诉你们。我豁出去了。

【在 o*******1 的大作中提到】
: 道歉。
: 我意识到这个玩笑非常不合适,是对所有文科同学的冒犯。在此我谨向各位真诚地道歉
: ,希望能得到大家的原谅。
: 大部分corning都是钢化的,肯定不会有问题。一点几个大气压对几乎所有的固体来说
: 都是nothing。软软的食物压几十分钟,都没有发生任何反应吧?当然,除非你能把水
: 烧干了再把食物烧糊,那样可能会在盘子上留下来去不掉的焦痕。

avatar
b*i
61
不懂你的意思。读quit的不是在线程里面吗?

【在 g****t 的大作中提到】
: 我要是有人中断后,读你这个quit呢?
: 如果我的中断是快速硬件来的。例如电池没电了
: 读数据备份。
: 没有atomic, i = 1这句话
: 都未完成,硬件可能就读了。硬件读的信号
: 如果足够快,那在它的眼里,你这个变量的对应的
: 内存值就是不稳定的。
:
:
: 我就是想问问到底错在哪
:
: 其实我觉得我这种情况用volatile没错,或者大家提到的memory barrier

avatar
l*z
62
俺不用高压锅,俺姥姥说了,高压锅尽炸老太太 。。。

【在 Y******m 的大作中提到】
:
: 哈哈哈,没啥不合适吧? :) 不过为啥是对文科同学的冒犯,
: 还是不懂。 就是说文科同学笨? :)
: 我觉得啊,这还是理论上的, 等我实践完了, 我告诉你们。我豁出去了。

avatar
g*t
63
你这样想,假设i = 1赋值完成需要500秒。
在这个过程中有异常,操作系统要备份所有内存的快照,
下次重启的时候用。读出来有时候是1,有时候不是1,
对吧?
比较高级的操作系统这类问题是不会发生或者很少发生。
但是很多嵌入式就一个while死循环。atomic, volatile,
Yield, ....这些都是ROM代码汇编写的。
c编译器也是自造的。代码段,数据段,手工计算。
测试是往往要看一些信号的edge不互相mess up


: 不懂你的意思。读quit的不是在线程里面吗?



【在 b***i 的大作中提到】
: 不懂你的意思。读quit的不是在线程里面吗?
avatar
F*t
64
笑喷了
你姥姥好油墨

【在 l*****z 的大作中提到】
: 俺不用高压锅,俺姥姥说了,高压锅尽炸老太太 。。。
avatar
a9
65
其实是不是原子操作或者volatile都没啥关系的吧。
有没有好的办法直接强制杀死线程的?
比如他这个,不检查这个quit标志,而是直接向这个线程发个指令这个线程就立刻中止
了?

【在 w***g 的大作中提到】
: 你理解没错,我给你endorse了: bihai这个volatile用得没错。
: 我们卖弄学问也希望你理解:)
:
: :我就是想问问到底错在哪
: :

avatar
f*m
66
一开始读成了二声。。。

【在 l*****z 的大作中提到】
: 俺不用高压锅,俺姥姥说了,高压锅尽炸老太太 。。。
avatar
d*a
67
还在讨论啊。:)
用IPC机制中的signal就可以了,也是这种情况下的最常见做法。Unix terminal下用
Ctrl-C中断程序,就是由terminal进程向程序进程发一个kill的signal。bihai的程序
用的可能是多线程;进程和线程都可以发送和接受signal。

【在 a9 的大作中提到】
: 其实是不是原子操作或者volatile都没啥关系的吧。
: 有没有好的办法直接强制杀死线程的?
: 比如他这个,不检查这个quit标志,而是直接向这个线程发个指令这个线程就立刻中止
: 了?

avatar
F*t
68
还有哇
你还不是老太太
尽管放心大胆滴用
等变成老太太了再不用也来得及

【在 l*****z 的大作中提到】
: 俺不用高压锅,俺姥姥说了,高压锅尽炸老太太 。。。
avatar
b*i
69
多线程下想比较优美的退出。该log,该释放都得做。这样下次启动没有问题,不用重
启。

【在 d***a 的大作中提到】
: 还在讨论啊。:)
: 用IPC机制中的signal就可以了,也是这种情况下的最常见做法。Unix terminal下用
: Ctrl-C中断程序,就是由terminal进程向程序进程发一个kill的signal。bihai的程序
: 用的可能是多线程;进程和线程都可以发送和接受signal。

avatar
l*2
70
赞真诚,赞科普

【在 o*******1 的大作中提到】
: 道歉。
: 我意识到这个玩笑非常不合适,是对所有文科同学的冒犯。在此我谨向各位真诚地道歉
: ,希望能得到大家的原谅。
: 大部分corning都是钢化的,肯定不会有问题。一点几个大气压对几乎所有的固体来说
: 都是nothing。软软的食物压几十分钟,都没有发生任何反应吧?当然,除非你能把水
: 烧干了再把食物烧糊,那样可能会在盘子上留下来去不掉的焦痕。

avatar
l*3
71
我晕,刚意识到是多音字。。。。。。。

【在 f*******m 的大作中提到】
: 一开始读成了二声。。。
avatar
F*t
72
神马神马?告诉我

【在 l********3 的大作中提到】
: 我晕,刚意识到是多音字。。。。。。。
avatar
l*3
73
太残忍,不方便说瓦。。。就是其中有个动词我们读4声,但是也可以读2声?
如果我今天脑子进水的话。。。

【在 F*******t 的大作中提到】
: 神马神马?告诉我
avatar
F*t
74
哎呀哎呀
我怎么看不出来呀
急!~

【在 l********3 的大作中提到】
: 太残忍,不方便说瓦。。。就是其中有个动词我们读4声,但是也可以读2声?
: 如果我今天脑子进水的话。。。

avatar
l*3
75
哈哈。。。老太太前面那个。。。

【在 F*******t 的大作中提到】
: 哎呀哎呀
: 我怎么看不出来呀
: 急!~

avatar
F*t
76
( ⊙o⊙ )

【在 l********3 的大作中提到】
: 哈哈。。。老太太前面那个。。。
avatar
R*s
77
大家都太幽默鸟, 俺不行了。。。

【在 f*******m 的大作中提到】
: 一开始读成了二声。。。
avatar
l*3
78
看出来了哇。。。咔咔。。
借宝地贴个图用。。。

【在 F*******t 的大作中提到】
: ( ⊙o⊙ )
avatar
c*e
79
倒是经常用高压锅蒸粽子。
就是在下面垫一个厚瓷盘,加上水就行了。水不能太多。
感觉那个不锈钢的小盆儿倒扣应该也可以。

?谁知道不?

【在 Y******m 的大作中提到】
: 我要是想要用高压锅蒸东西,应该用什么容器好?谁知道不?
: 我有不锈钢小盆儿,盘子,瓷器,哪个不会被压没了?

avatar
Y*m
80

我发誓以后一定给你用高压锅炸个老太太. 要椒盐的还是葱花儿的? :)

【在 f*******m 的大作中提到】
: 一开始读成了二声。。。
avatar
g*l
81
不锈钢小盘

【在 Y******m 的大作中提到】
: 我要是想要用高压锅蒸东西,应该用什么容器好?谁知道不?
: 我有不锈钢小盆儿,盘子,瓷器,哪个不会被压没了?

avatar
Y*m
82
报告大家一个好消息, 我把盘子(Corningware 就像这个白盘子 http://images.bizrate.com/resize?sq=500&uid=1718297723 ), 架在
高压锅的铁篦子上(人家高压锅带的), 蒸25分钟, 么事儿没有. 没炸,
也没化, 排骨也熟了, 那个嫩啊... :)
avatar
F*t
84
恭喜lz贺喜lz

【在 Y******m 的大作中提到】
: 报告大家一个好消息, 我把盘子(Corningware 就像这个白盘子 http://images.bizrate.com/resize?sq=500&uid=1718297723 ), 架在
: 高压锅的铁篦子上(人家高压锅带的), 蒸25分钟, 么事儿没有. 没炸,
: 也没化, 排骨也熟了, 那个嫩啊... :)

avatar
Y*m
85

毛主席咋教导来着? 对了: "实践是检验真理的唯一标准" :)
他老人家真伟大 :)

【在 F*******t 的大作中提到】
: 恭喜lz贺喜lz
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。