一个线程先后的问题 假如有:AfxBeginThread(各种参数);//1AfxBeginThread(各种参数);//2那么这两个线程是同时开始运行的吗.还是2要比1慢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谁先谁后是由系统调度决定。 在单CPU 的机器上,肯定有先后顺序,不可能同时运行。 如果想要一个线程多占用cpu时间,可以提高它的优先级。相反,可以降低她的优先级。BOOL SetThreadPriority( HANDLE hThread, // handle to the thread int nPriority // thread priority level);其中nPriority中指定的是相对于进程的优先级。有就是说,用在一个进程中用默认的优先级建立的线程,他们的优先级是一样的。如果想让进程或者其中的线程占用更多cpu时间,可以用:BOOL SetPriorityClass( HANDLE hProcess, // handle to process DWORD dwPriorityClass // priority class);他设置进程的优先级。他们都有get函数DWORD GetPriorityClass( HANDLE hProcess // handle to process);int GetThreadPriority( HANDLE hThread // handle to thread);用来获取进程,线程的优先级。更详细的情况可以参考msdn. 不一定!!!!!!!绝对不要赌哪个先开始。如果确实需要顺序,用线程同步的方法吧!比如mutex, event 或 临界区等。 说不准,哪个线程会先分配到CPU时间是个未知数~~~这由OS来决定Chice_wxg()说得有道理,使用内核对象来产生同步或异步信号使它们先后的执行,这需要你自己来规定. 线程不可能同时运行,除非你用到多CPU,在一个CPU上是不可能做到的。实现把握线程的先后问题必须自己写一些代码,最简单的方法就是设信号了。WaitForSingleObject(HANDLE,TIMEOUT)与SetEvent(HANDLE)至于设定线程优先级的方法我觉得不太好,就算设定了优先级也解决不了很多问题,比如同时读取改变一些值,这就必须用到零界区(这个也是多线程最关注的一个问题了) 如何利用键盘钩子获取到每次按键之间的时间间隔? 计算机等级考试有多大用 真彩工具栏在vc6正确,在vs2005中BUG,谁能解决? 请问Flash播放动画时绘制动画用的是DirectX还是GDI? 如何集成驱动到程序中? WM_USER 怎么用??请达人帮忙!!!!!! 请教一问题:我一程序在后台运行,在系统关机时,如何能让该程序得到响应? 重新登录问题? 郁闷?CRecordset取值的问题,为什么总是给我截掉一个字符 招聘基于B/S结构用LOTUS NOTE 开发OA的软件工程师 [请教]捕获键盘输入的一个小问题 如何安装一个服务
BOOL SetThreadPriority(
HANDLE hThread, // handle to the thread
int nPriority // thread priority level
);
其中nPriority中指定的是相对于进程的优先级。
有就是说,用在一个进程中用默认的优先级建立的线程,他们的优先级是一样的。如果想让进程或者其中的线程占用更多cpu时间,可以用:
BOOL SetPriorityClass(
HANDLE hProcess, // handle to process
DWORD dwPriorityClass // priority class
);
他设置进程的优先级。他们都有get函数
DWORD GetPriorityClass(
HANDLE hProcess // handle to process
);
int GetThreadPriority(
HANDLE hThread // handle to thread
);
用来获取进程,线程的优先级。更详细的情况可以参考msdn.
绝对不要赌哪个先开始。如果确实需要顺序,用线程同步的方法吧!比如mutex, event 或 临界区等。
Chice_wxg()说得有道理,使用内核对象来产生同步或异步信号使
它们先后的执行,这需要你自己来规定.