Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Multitasking

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Bad_King
gesperrt


Anmeldungsdatum: 15.04.2006
Beiträge: 455
Wohnort: nähe Stuttgart

BeitragVerfasst am: 03.12.2006, 12:26    Titel: Multitasking Antworten mit Zitat

Hi,

ich will in FreeBASIC mehrere DOS-KOmmandos gleichzeitig ausführen. Wie geht das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 03.12.2006, 13:16    Titel: Antworten mit Zitat

Hmmm... mehrfach hinternander den entsprechenden Befehl ausführen? happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
WinterStorm



Anmeldungsdatum: 14.11.2005
Beiträge: 198
Wohnort: Linz

BeitragVerfasst am: 03.12.2006, 13:22    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 03.12.2006, 13:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Bad_King
gesperrt


Anmeldungsdatum: 15.04.2006
Beiträge: 455
Wohnort: nähe Stuttgart

BeitragVerfasst am: 03.12.2006, 16:26    Titel: Antworten mit Zitat

Also ich will mehrere verschiedene shell-anweißungen gleichzeitung ausführen (und nicht nacheinander)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 03.12.2006, 16:34    Titel: Antworten mit Zitat

Siehe mein beispiel.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
WinterStorm



Anmeldungsdatum: 14.11.2005
Beiträge: 198
Wohnort: Linz

BeitragVerfasst am: 04.12.2006, 21:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 04.12.2006, 21:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 04.12.2006, 21:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz