24小时热门版块排行榜    

查看: 617  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

执着人生1988

银虫 (著名写手)

[求助] 多线程

请问有没有哪个高手能帮我解决困惑?
本人最近在用Windows XP多线程技术。
我的应用程序进程有两个线程:一个主线程,用于处理用户界面;另一个是次线程,负责数据采集分析处理。
①我利用windows API,在主线程处理函数中调用GetCurrentThread()获得主线程句柄,在次线程回调函数中调用GetCurrentThread()获得次线程句柄,然后在主线程处理函数中分别GetThreadPriority()获得两个线程的优先级,结果是主线程、次线程都是0,即表示THREAD_PRIORITY_NORMAL。②如果在次线程中调用GetThreadPriority()获得两个线程的优先级,结果却是主线程、次线程都是15,即表示THREAD_PRIORITY_TIME_CRITICAL。③如果在主线程处理函数中调用GetThreadPriority()获得主线程优先级,在次线程处理函数中调用GetThreadPriority()获得次线程优先级,结果是主线程为0、次线程为15。
   如果系统动态调整线程优先级,为什么在执行主线程是不调整呢?
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

交流促进进步!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
3楼: Originally posted by 执着人生1988 at 2012-10-30 14:45:38
谢谢回复。我用的软件是CVI,它是在创建线程时同时指定回调函数,不是线程之间指定。我被这个问题是弄得糊里糊涂了。楼上对线程熟悉吗?我还有很多问题,方便的话,可以详聊。

线程了解一些,但是CVI没用过
4楼2012-10-30 23:44:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

anntoy

木虫 (著名写手)

刚看到你说回调函数,你看看你两次GetCurrentThread得到的线程ID,我想应该是一样的,而且,线程之间还怎么有回调函数这个概念……

[ 发自手机版 http://muchong.com/3g ]
2楼2012-10-30 13:34:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

执着人生1988

银虫 (著名写手)

送鲜花一朵
谢谢回复。我用的软件是CVI,它是在创建线程时同时指定回调函数,不是线程之间指定。我被这个问题是弄得糊里糊涂了。楼上对线程熟悉吗?我还有很多问题,方便的话,可以详聊。
交流促进进步!
3楼2012-10-30 14:45:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

执着人生1988

银虫 (著名写手)

这个没关系,本质都一样。我调试过,这两个的句柄都一样。这是为什么?
这两个线程应该不一样的,在执行不同线程获得的。
交流促进进步!
5楼2012-10-31 09:01:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见