BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

一个关于线程的逻辑问题
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
SunGod
法王
党棍


CU奥运火炬传递手2008
UID:114205
注册:2003-11-24
最后登录: 2008-09-05
帖子:13656
精华:3

可用积分:1670 (家境小康)
信誉积分:542
专家积分:2719 (本版:0)
空间积分:0
推广积分:0

来自:果城
状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2008-3-21 15:25 
putchar(char * buf, int count){

char raw[count]  = buf;

kernel_thread(sendto,raw,0);

}

sendto函数的第一条命令就会把raw的内容cp到自己的栈内,这样的话有没有安全隐患?譬如sendto函数对raw的拷贝还没有完成,由于putchar被再次调用,raw的内容又发生了改变?

本人第一次写线程程序,让各位见笑了

[ 本帖最后由 SunGod 于 2008-3-21 15:30 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[1]

__________________________________

                            CU精英们的信条


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
版主 flw   帅哥
广告杀手-老法王
侠客



UID:14893
注册:2002-8-12
最后登录: 2008-09-06
帖子:20132
精华:13

可用积分:15503 (大富大贵)
信誉积分:925
专家积分:1219 (本版:105)
空间积分:0
推广积分:12

状态:...在线...

[个人空间] [短信] [博客]


2楼 发表于 2008-3-21 15:30 
当然会有问题。
传堆吧。

btw:kernel_thread 这个名字起得可不太好……



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

data Maybe a = Nothing
             | Just a

---
如何知道一个变量是什么类型?
如何知道分配的内存有多大?
如何知道 select 的 fd_set 里哪个句柄是无效的?
如何知道指针是不是有效的?
如何通过文件句柄得到文件名?
……
如何知道我昨晚把袜子脱哪儿了?
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
SunGod
法王
党棍


CU奥运火炬传递手2008
UID:114205
注册:2003-11-24
最后登录: 2008-09-05
帖子:13656
精华:3

可用积分:1670 (家境小康)
信誉积分:542
专家积分:2719 (本版:0)
空间积分:0
推广积分:0

来自:果城
状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2008-3-21 15:32 


QUOTE:
原帖由 flw 于 2008-3-21 15:30 发表
当然会有问题。
传堆吧。

btw:kernel_thread 这个名字起得可不太好……

只要是异步的话,传到堆还不是一样的下场



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

                            CU精英们的信条


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
LF_532   帅哥
精灵



UID:493541
注册:2006-11-21
最后登录: 2008-09-05
帖子:235
精华:0

可用积分:314 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2008-3-21 15:53 
那为啥不加锁?



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
system888net   帅哥
天使




UID:304970
注册:2005-8-21
最后登录: 2008-09-04
帖子:1212
精华:1

可用积分:3060 (小富即安)
信誉积分:100
专家积分:140 (本版:50)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2008-3-21 15:56 
回复 #1 SunGod 的帖子

为何不加临界区或互斥段?



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
SunGod
法王
党棍


CU奥运火炬传递手2008
UID:114205
注册:2003-11-24
最后登录: 2008-09-05
帖子:13656
精华:3

可用积分:1670 (家境小康)
信誉积分:542
专家积分:2719 (本版:0)
空间积分:0
推广积分:0

来自:果城
状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2008-3-21 16:06 
回楼上两位,加锁的话效率太低了,我还不如把sento的代码放到putchar里面来做了

我要的效果就是putchar不被阻塞



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

                            CU精英们的信条


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
版主 cugb_cat   帅哥
广告杀手-大法师


CU奥运火炬传递手2008
UID:342049
注册:2005-11-27
最后登录: 2008-09-06
帖子:9457
精华:6

可用积分:8938 (腰缠万贯)
信誉积分:110
专家积分:419 (本版:100)
空间积分:0
推广积分:12

来自:北京海淀中关村
状态:...保密...

[个人空间] [短信] [博客]


7楼 发表于 2008-3-21 16:07 
同步。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

欢迎访问ToFree社区
www.tofree.org

空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
版主 flw   帅哥
广告杀手-老法王
侠客



UID:14893
注册:2002-8-12
最后登录: 2008-09-06
帖子:20132
精华:13

可用积分:15503 (大富大贵)
信誉积分:925
专家积分:1219 (本版:105)
空间积分:0
推广积分:12

状态:...在线...

[个人空间] [短信] [博客]


8楼 发表于 2008-3-21 16:08 


QUOTE:
原帖由 SunGod 于 2008-3-21 15:32 发表

只要是异步的话,传到堆还不是一样的下场

看来你还没搞懂堆和栈的区别。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

data Maybe a = Nothing
             | Just a

---
如何知道一个变量是什么类型?
如何知道分配的内存有多大?
如何知道 select 的 fd_set 里哪个句柄是无效的?
如何知道指针是不是有效的?
如何通过文件句柄得到文件名?
……
如何知道我昨晚把袜子脱哪儿了?
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
版主 flw   帅哥
广告杀手-老法王
侠客



UID:14893
注册:2002-8-12
最后登录: 2008-09-06
帖子:20132
精华:13

可用积分:15503 (大富大贵)
信誉积分:925
专家积分:1219 (本版:105)
空间积分:0
推广积分:12

状态:...在线...

[个人空间] [短信] [博客]


9楼 发表于 2008-3-21 16:08 


QUOTE:
原帖由 system888net 于 2008-3-21 15:56 发表
为何不加临界区或互斥段?

换成堆,就不需要保护了。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

data Maybe a = Nothing
             | Just a

---
如何知道一个变量是什么类型?
如何知道分配的内存有多大?
如何知道 select 的 fd_set 里哪个句柄是无效的?
如何知道指针是不是有效的?
如何通过文件句柄得到文件名?
……
如何知道我昨晚把袜子脱哪儿了?
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
SunGod
法王
党棍


CU奥运火炬传递手2008
UID:114205
注册:2003-11-24
最后登录: 2008-09-05
帖子:13656
精华:3

可用积分:1670 (家境小康)
信誉积分:542
专家积分:2719 (本版:0)
空间积分:0
推广积分:0

来自:果城
状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2008-3-21 16:09 


QUOTE:
原帖由 cugb_cat 于 2008-3-21 16:07 发表
同步。

咋整

sendto里面有压缩和封包拼装功能,我不想让sendto影响putchar的效率



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

                            CU精英们的信条


空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.044589 second(s), 4 queries , Gzip enabled