Toon posts:

[Delphi] CPU Time toekennen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik heb gezocht op google, GOT, delphi pages, maar helaas niets gevonden dat me kan helpen. Ik ben bezig met het schrijven van twee applicaties die werken met threads.

Wat ik wil doen is het volgende: Applicatie 1 draait en doet zn werk wat ie moet doen. Applicatie 2 alloceert memory in de geheugenruimte van Appicatie 1. Vervolgens maakt Applicatie 2 een remotethread (met gebruik van de functie CreateRemoteThread) in de geheugenruimte die hij bij Applicatie 1 gemaakt heeft.

Op dat moment loopt het programma vast. Ik denk dat op het moment dat ik de thread van Applicatie 2 probeer te draaien, Applicatie 1 geen CPU tijd meer krijgt dus vast loopt.

Nu is mijn vraag: Als ik een remotethread in de geheugenruimte die Applicatie 2 heeft gemaakt bij Applicatie1 draai, hoe zorg ik er dan voor dat applicatie 1 ook zijn benodigde CPU time krijgt???

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Applicaties horen niet in elkaars geheugenruimtes te gaan klooien, als dat wel het geval is zit er toch echt iets fout in je ontwerp en moet je op zoek gaan naar een juiste methode.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Misschien niet te snel conclusies trekken, eerst even door vragen?
Waarom heb je gekozen voor deze methode en waarom niet gewoon de thread bij Applicatie1 beheren en uitvoeren?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Delphi schreef op 09 April 2003 @ 00:34:
Misschien niet te snel conclusies trekken, eerst even door vragen?
[..]
Er staat duidelijk dat applicatie 1 in de geheugen van applicatie 2 zit te werken. Dat is bij voorbaat vragen om problemen bovendien zal praktisch elke ervaren programmeur daarvan rillingen op zijn rug van krijgen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
ik stel het zeer op prijs dat iedereen me wilt helpen aan een andere manier, maar deze biedt mij bepaalde voordelen.

Nu weer even back on topic: Hoe kan ik App 1 CPU-Time toekennen?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Verwijderd schreef op 09 April 2003 @ 00:39:
[..]
maar deze biedt mij bepaalde voordelen.
[..]
Noem ze eens.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

CPU-time toekennen kan niet. Je kan wel prioriteiten geven en processen op lage prioteiten zetten.
Kijk bij SetPriorityClas

Een sleep(0) (of een ander getal) is trouwens ook een teken voor het OS dat een andere process eens aan de beurt is voor de CPU

(Maar ook ik kan het niet nalaten te zeggen dat je het waarschijnlijk anders wilt oplossen, heb het sterke vermoeden dat vastlopen niet komt door cpu-time want als ze allebei gelijken prioriteit hebben draaien ze allebei even snel. Vastlopen duidt waarschijnlijk op ellende met je geheugen verdelen, ben bang dat processen niet andermans geheugen kunnen komen.)

[ Voor 50% gewijzigd door Verwijderd op 09-04-2003 00:44 ]

Pagina: 1