CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 335869
周星驰
:
用Sleep不好,Sleep不会保证启动其的线程立刻继续执行,在窗口程序中还很可能会导致死锁
[阅读: 693] 2006-06-02 03:09:06
<空>
相关信息:
【Delphi技术贴.2个事件响应函数在并发被触发时,如果执行它们的函数体的呢?】不使用多线程编程,直接利用TserverSocket的事件,能否较好地实现多客户端同时连接时的并发……
(533字)
(
haitao
[1366]
2006-06-02 09:40
)
单线程那么简单的东西有什么好多想的
(62字)
(
holly
[489]
2006-06-02 10:21
)
关键是后面的步骤啊。。。。
(180字)
(
haitao
[496]
2006-06-02 10:28
)
如果想让ProcessMessages成为一个主动让别人执行的机制,应该怎么改造呢?
(81字)
(
haitao
[658]
2006-06-02 10:30
)
不是我说你
(62字)
(
holly
[445]
2006-06-02 10:46
)
不是抢占,而是人人都能释放自己,让别人接着执行(一小段代码)。。。
(13字)
(
haitao
[411]
2006-06-02 10:49
)
你还是没明白我说的
(36字)
(
holly
[687]
2006-06-02 10:50
)
发主贴时没想到。。。但是现在是希望有一个新的机制。。。
(45字)
(
haitao
[458]
2006-06-02 10:55
)
我看得晕得很
(空) (
Miracle
[407]
2006-06-02 10:59
)
习惯了就好, 习惯了就好.
(24字)
(
holly
[393]
2006-06-02 11:00
)
那就用 Fiber 吧
(42字)
(
holly
[460]
2006-06-02 10:59
)
NT之前不支持啊。
(空) (
Miracle
[399]
2006-06-02 11:06
)
是啊, 不过现在 9x 的需求不多了吧?
(12字)
(
holly
[373]
2006-06-02 11:07
)
这要看haitao的项目需求了,就有N多人要用9x
(空) (
Miracle
[377]
2006-06-02 11:13
)
那其实也好办
(33字)
(
holly
[416]
2006-06-02 11:15
)
这个还好,内部测试用的,又是服务端,应该可以要求win2k及以上。。。
(86字)
(
haitao
[600]
2006-06-02 11:16
)
经验证明,寻找“自定义”方案看似简单,实则是在走弯路,我建议你还是不畏艰险的改用多线程吧。
(空) (
Miracle
[474]
2006-06-02 11:18
)
改为多线程、多纤程,都涉及原来的整个程序框架的大改了。。。我想实现一个新的SupProcessMessages来替代ProcessMessages,程序框架不用动。。。。
(173字)
(
haitao
[550]
2006-06-02 11:08
)
别费那劲儿了……
(空) (
Miracle
[479]
2006-06-02 11:14
)
定时器也是嵌套啊
(40字)
(
holly
[484]
2006-06-02 11:14
)
是啊
(30字)
(
haitao
[457]
2006-06-02 11:17
)
在工作目标不变的前提下,懒得改的结果基本上还是不得不改
(空) (
Miracle
[401]
2006-06-02 11:19
)
你现在如果想在一个主线程里达到这个目的,浪费的时间一定比把程序改为多线程花的时间更多很多。
(55字)
(
pcplayer
[489]
2006-06-02 11:20
)
还有:一次性的东西,还是可复用的东西,是有差别的。。。
(45字)
(
haitao
[487]
2006-06-02 11:58
)
发功德无量的心是不错的,但最终还是要看做出来的是不是功德无量的事情啊
(空) (
Miracle
[480]
2006-06-02 12:04
)
那要看对谁(开发者)来说了。。。
(80字)
(
haitao
[776]
2006-06-02 12:39
)
呵呵,这样用多线程就很自然了
(空) (
amo
[431]
2006-06-02 11:02
)
那不就变成preempt方式了
(空) (
amo
[456]
2006-06-02 10:48
)
当然了,上一事件不是正在执行么,只是象win31一样,主动让出控制权了
(空) (
amo
[456]
2006-06-02 10:48
)
bob1
(220字)
(
amo
[475]
2006-06-02 10:42
)
是啊,现在delphi好像没有这个释放自己执行机会的函数。。。
(71字)
(
haitao
[644]
2006-06-02 10:47
)
那你就用多线程啦。什么事都能在单线程里搞定的话,还需要多线程来干啥。
(空) (
pcplayer
[569]
2006-06-02 10:51
)
你选择了A,却非要它干B才能干的事情
(16字)
(
Miracle
[683]
2006-06-02 10:54
)
如果多线程,那就要直接换indy那套控件了。。。
(51字)
(
haitao
[582]
2006-06-02 10:57
)
单线程当然只能顺序执行了。
(155字)
(
王中王
[645]
2006-06-02 10:57
)
异步模式据说是 win31 年代的遗迹,只不过 windows 程序员习惯了。
(空) (
pcplayer
[463]
2006-06-02 10:59
)
我的问题是:后来发现一次socket数据的到达,处理时间就会比较慢,即使以后不会有数据来了
(85字)
(
haitao
[679]
2006-06-02 11:01
)
你不是在测试里,为了延长时间,让主线程 Sleep(500) 这样做的吧?
(空) (
pcplayer
[685]
2006-06-02 11:03
)
用Sleep不好,Sleep不会保证启动其的线程立刻继续执行,在窗口程序中还很可能会导致死锁
(空) (
周星驰
[692]
2006-06-02 11:09
)
哦,靠,我有点答不对题,晕了,加班加得。。。
(空) (
周星驰
[405]
2006-06-02 11:10
)
是分小段sleep。。。
(366字)
(
haitao
[551]
2006-06-02 11:11
)
onems ……我看成onEMS了
(空) (
Miracle
[438]
2006-06-02 11:12
)
你这个测试好像是错的
(195字)
(
pcplayer
[471]
2006-06-02 11:18
)
ms可能比较大,但是onems可以设得很短的。。。有没有系统性的控件,让事件响应函数按纤程的方式被调用?ProcessMessages相当于“挂起”?
(67字)
(
haitao
[634]
2006-06-02 11:22
)
估计没有你想要的东西. 不过你还是可以自己写一个的
(76字)
(
holly
[429]
2006-06-02 11:25
)
小马过河
(15字)
(
haitao
[430]
2006-06-02 11:28
)
不安全啊不安全
(27字)
(
JoJo
[481]
2006-06-02 11:30
)
请参见第二点
(空) (
holly
[410]
2006-06-02 11:31
)
哦,明白了
(23字)
(
JoJo
[398]
2006-06-02 11:33
)
看得我晕。。。
(31字)
(
JoJo
[453]
2006-06-02 11:25
)
开眼界了吧
(7字)
(
haitao
[436]
2006-06-02 11:29
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录