冥界3大法王 发表于 2021-3-28 21:06

父亲的一生:①生一个儿子。如果儿子被杀了,再生一个!②工作。

delphi 双进程守护

这是一个关于父亲与儿子的故事:

父亲的一生:①生一个儿子。如果儿子被杀了,再生一个!
             ②工作。

儿子的一生:等着父亲被杀,取而代之(成为父亲)。

这则故事已经完整地表达了我想要表达的全部思想,我们可以通过假设“父亲被杀了”或“儿子被杀了”来领会它。



program Oliver;

uses
   Windows;

procedure WaitForAncestor;
var
   MutexName: String;
   MutexHandle: THandle;
begin
   MutexName := '110';
   MutexHandle := OpenMutex(SYNCHRONIZE, True, PChar(MutexName));
   if (MutexHandle <> 0) then
   begin
   WaitForSingleObject(MutexHandle, INFINITE);
   CloseHandle(MutexHandle);
   end;
   CreateMutex(nil, True, PChar(MutexName));
end;

procedure RunSuccessor;
var
   StartupInfo: TStartupInfo;
   ProcessInfo: TProcessInformation;
begin
   while (True) do
   begin
   CreateProcess(PChar(ParamStr(0)), nil, nil, nil, True, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
   WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
   end;
end;

begin
   WaitForAncestor;
   RunSuccessor;
end.

swjia 发表于 2021-3-28 21:50

楼主可以悄悄的写本关于delphi的书了,或者用Delphi写一个可以广为流传的应用程序,也让后世记住你。

白衣国度 发表于 2021-3-28 21:15

精辟,我是沙发

aaabbbcc123 发表于 2021-3-28 21:17

这也可以?啊

syrmb 发表于 2021-3-28 21:19

哦 传说中的互斥体

yylwhy 发表于 2021-3-28 21:21

这个例子 跪了跪了

阿傑 发表于 2021-3-28 21:23

会不会同时被杀了呢

我去年买了各表 发表于 2021-3-28 21:23

红蓝黄 发表于 2021-3-28 21:25

实在是太残忍了

yiwanyiwan 发表于 2021-3-28 21:28

生动不错

cherrypi 发表于 2021-3-28 21:34

机器的世界真的是没有感情的。
页: [1] 2 3
查看完整版本: 父亲的一生:①生一个儿子。如果儿子被杀了,再生一个!②工作。