多线程的简单问题 TTest是TThread的派生类,写成如下这样是不是表示运行两个线程.beginTTest.Create(false);TTest.Create(false);end 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没错,你这样实际上已经创建了两个TTest的实例。 在execute方法中如果不加sleep,如果是本来是有规则的数,它就变成了无规则的数了。哪么怎样控制sleep(misecond)的时间参数,热情的期待高手.真的可用分0000,祝你家身体健康 对不起,怎么用sleep()过程中的时间参数了 就那样用就可以了啊 sleep(100)1000 就是一秒了 Sleep(n); // n毫秒。。Sleep(0) 表示如果存在请求CPU控制权的线程,就将控制权交出 否则继续为自己占有。。Sleep(n) 表示这n毫秒内 自己休眠,不需要争取CPU的控制权。。execute:不用Sleep的话 就在自己被分配的时间片里一直执行 当然里面也可能被其他的线程所抢了 所以可能会出现不规则的数 其实就算你用了Sleep也有可能出现不规则的数的 如果在execute 中不加sleep则TTest.Create(false);这个线程获得控制权会一直执行下去后再去执行下一个线程,是吗某个线程是否获得控制权是靠OS调度的 当然如果你Sleep(n) n>0的话 系统是绝不会分配你控制权的。即使你不sleep OS也可能中断你的执行 把控制权交给其他线程<有可能是优先级更高的 或者相等的 设置是更低的..> 也就是说 多线程里面 程序的流程不一定就是按照你想要的走 所以就需要编写线程安全的代码。。 也就是说我加了与没加sleep,我下面创建的二个线程有可能都在运行是吧procedure TForm1.Button1Click(Sender: TObject);beginTTest.Create(false);TTest.Create(false);end; 也就是说我加了与没加sleep,我下面创建的二个线程有可能都在运行是吧对头!!!你不是看到了那些不规则的数么 就是因为执行顺序比较乱导致的 WebBrowser控件每次打开网页时都会占用很多CPU资源,怎么办啊 为何客户端必需得在服务端之后启动 ClientDataSet中的数据怎么导出为db,或dbf,或ACESS,速度快就可以了 呵呵,放分罗 诚征深圳delphi高手合作! 问个order by 的问题 日期问题??急 请问在两个数据库中怎么互倒IMAGES类型的数据? 今天下午不能交出来程序,我就走人了 如何判定一个窗体是否已被打开 初手求助 TThread是抽象的。为什么不能创建TThread实例
sleep(misecond)的时间参数,热情的期待高手.真的可用分0000,祝你家身体健康
Sleep(n) 表示这n毫秒内 自己休眠,不需要争取CPU的控制权。。execute:不用Sleep的话 就在自己被分配的时间片里一直执行 当然里面也可能被其他的线程所抢了 所以可能会出现不规则的数 其实就算你用了Sleep也有可能出现不规则的数的
即使你不sleep OS也可能中断你的执行 把控制权交给其他线程<有可能是优先级更高的 或者相等的 设置是更低的..> 也就是说
多线程里面 程序的流程不一定就是按照你想要的走 所以就需要编写线程安全的代码。。
procedure TForm1.Button1Click(Sender: TObject);
beginTTest.Create(false);
TTest.Create(false);end;