Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Bad_King gesperrt

Anmeldungsdatum: 15.04.2006 Beiträge: 455 Wohnort: nähe Stuttgart
|
Verfasst am: 03.12.2006, 12:26 Titel: Multitasking |
|
|
Hi,
ich will in FreeBASIC mehrere DOS-KOmmandos gleichzeitig ausführen. Wie geht das? |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 03.12.2006, 13:16 Titel: |
|
|
Hmmm... mehrfach hinternander den entsprechenden Befehl ausführen?  |
|
Nach oben |
|
 |
WinterStorm

Anmeldungsdatum: 14.11.2005 Beiträge: 198 Wohnort: Linz
|
Verfasst am: 03.12.2006, 13:22 Titel: |
|
|
moin,
meinst du soetwas:
Code: |
cls
opencmd% = 0
do
opencmd% = opencmd% + 1
shell "start"
loop until opencmd% = 5
|
ich hoffe das hilft dir weiter..
mfg _________________ Me
lastfm...
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 03.12.2006, 13:28 Titel: |
|
|
Meinst du verschiedene Shell Anweisungen?
Das geht so:
Code: | Declare Sub multi_shell(args As Integer)
Dim As Any Ptr t1, t2
Dim As String anweisung1, anweisung2
anweisung1 = "sleep 10s" 'unter windows eventuell "pause" statt "sleep 10s"
anweisung2 = "echo test"
t1=Threadcreate(@multi_shell, cast(integer, cast(integer ptr, @anweisung1)))
t2=Threadcreate(@multi_shell, cast(integer, cast(integer ptr, @anweisung2)))
Sub multi_shell(args As Integer)
Shell *Cast(string ptr, args)
End Sub
sleep |
_________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Bad_King gesperrt

Anmeldungsdatum: 15.04.2006 Beiträge: 455 Wohnort: nähe Stuttgart
|
Verfasst am: 03.12.2006, 16:26 Titel: |
|
|
Also ich will mehrere verschiedene shell-anweißungen gleichzeitung ausführen (und nicht nacheinander) |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 03.12.2006, 16:34 Titel: |
|
|
Siehe mein beispiel. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
WinterStorm

Anmeldungsdatum: 14.11.2005 Beiträge: 198 Wohnort: Linz
|
Verfasst am: 04.12.2006, 21:44 Titel: |
|
|
hm,
kann sein, dass ich mich täusche, aber ich glaube ein exaktes
gleichzeitig gibt es gar nicht, ein computer müsste ja eigentlich nur
einen befehl abarbeiten können...
wie gesagt kann sein das ich mich auch täusche.
außerdem, wieso müsste es gleichzeitig sein?
genügt es hintereinander nichT?
mfg _________________ Me
lastfm...
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 04.12.2006, 21:50 Titel: |
|
|
Hm, prinzipiell hast du damit recht. Es nennt sich Task-Switching.
Aber mit Dual-CPU-Systeme geht es. Da kann jede CPU einen anderen Task bearbeiten.
Davon bekommt ein Anwendungsprogramm aber nix mit, auch wenn's Threadcreate verwendet. Die 2 CPU's muss das Betriebssystem unterstützen, dann teilt's auch die Last entsprechend auf. Bei einem Betriebssystem wie Win 95/98 aber wird die 2. CPU dann zum Beispiel gar nicht benutzt. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 04.12.2006, 21:59 Titel: |
|
|
Genau!
Aber auch bei Dualcore laufen noch mehrere Prozesse auf jedem Core... Bei mir wären momentan 36 Cores nötig, damit das aber der dualen PC-Logik benötige ich 64 Cores... |
|
Nach oben |
|
 |
|