我正在使用delphi 2010,无论如何都知道通过delphi函数或windows api运行项目的线程数?
我是delphi 2010的用户,我目前的机器是intel core i7,运行windows 7 x64.我写了以下代码:
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
FCount: Integer;
FTickCount: Cardinal;
procedure DoTest;
procedure OnTerminate(Sender: TObject);
end;
TMyThread = class(TThread)
private
FMethod: TProc;
protected
procedure Execute; override;
public
constructor Create(const aCreateSuspended: Boolean; const aMethod: TProc);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
T1, T2: Cardinal;
begin
T1 := GetTickCount;
for i := 0 to 9 do
DoTest;
T2 …Run Code Online (Sandbox Code Playgroud) 从上面的答案来看,意味着如果在我的线程中有创建对象,我将面临内存分配/释放瓶颈,从而导致运行线程可能较慢或没有明显的时间采取差异.比没有线程.如果我不能分配内存来为我的线程中的计算创建对象,那么在应用程序中运行多线程有什么好处?
我正在使用Delphi XE3,以下是我的示例应用程序:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function Send(const FromAddr, ToAddr, Subject: String; const AttachFiles: array
of string; const MsgBody: String): boolean;
end;
var
Form1: TForm1;
implementation
uses Winapi.Mapi;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Send('', 'lmengyew@gmail.com', 'test', [], '');
end;
function TForm1.Send(const FromAddr, ToAddr, Subject: String; const
AttachFiles: array of string; const MsgBody: String): boolean;
var Msg: TMapiMessage;
lpSender, lpRecipient: …Run Code Online (Sandbox Code Playgroud)