|
You last visited: Today at 12:40
Advertisement
Vectors + Thread
Discussion on Vectors + Thread within the C/C++ forum part of the Coders Den category.
10/08/2014, 15:20
|
#1
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Vectors + Thread
Hey,
1:
Kennt jemand ein gutes Tut für Vectors("Hab schon gegoogelt würde aber gerne ob ihr mir eins empfälen würder")
2:
2.1
Ich möchte Threads starten ohne eine Thread id sprich ich möchte kein Counter werden.
2.2
Ich möchte Threads starten und stoppen und "löschen" das die Thread id wieder frei ist. Pthread gibt es ja anscheinend net für vs 2012 ?
|
|
|
10/08/2014, 16:41
|
#2
|
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
|
Was genau meinst du mit "Vectors"? Vektoren aus der Mathematik oder die std::vector-Klasse aus der STL? Zu letzterem braucht man wohl kaum ein eigenes Tutorial, da reicht die vollkommen aus.
Zu den mathematischen Konstrukten: ich weiß ja nicht genau, was du von einem Tutorial dazu erwartest, aber vielleicht reicht ja schon der Wikipedia-Artikel darüber aus. Da sind die Definition und auch die Operationen beschrieben.
2. Ich würde dir da generell empfehlen. 2.1 Ich verstehe die Frage nicht so recht. Aber mit kannst du den Thread vom korrespondierenden std::thread-Objekt, welches ihn erstellt hat, lösen, so dass das Objekt gelöscht werden kann, ohne dass der Thread selbst terminiert werden muss.
2.2 s. std::thread
Vielleicht habe ich deine Fragen nicht verstanden und deshalb eine falsche Antwort gegeben, was mir Leid tut, wenn dem so ist. In dem Fall wäre es gut, wenn du deine Belange noch einmal ausführlicher Beschreibst.
Ich hoffe dennoch, dass ich dir etwas helfen konnte
Mit freundlichen Grüßen
Jeoni
|
|
|
10/08/2014, 18:50
|
#3
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Quote:
Originally Posted by Jeoni
Was genau meinst du mit "Vectors"? Vektoren aus der Mathematik oder die std::vector-Klasse aus der STL? Zu letzterem braucht man wohl kaum ein eigenes Tutorial, da reicht die vollkommen aus.
Zu den mathematischen Konstrukten: ich weiß ja nicht genau, was du von einem Tutorial dazu erwartest, aber vielleicht reicht ja schon der Wikipedia-Artikel darüber aus. Da sind die Definition und auch die Operationen beschrieben.
2. Ich würde dir da generell empfehlen. 2.1 Ich verstehe die Frage nicht so recht. Aber mit kannst du den Thread vom korrespondierenden std::thread-Objekt, welches ihn erstellt hat, lösen, so dass das Objekt gelöscht werden kann, ohne dass der Thread selbst terminiert werden muss.
2.2 s. std::thread
Vielleicht habe ich deine Fragen nicht verstanden und deshalb eine falsche Antwort gegeben, was mir Leid tut, wenn dem so ist. In dem Fall wäre es gut, wenn du deine Belange noch einmal ausführlicher Beschreibst.
Ich hoffe dennoch, dass ich dir etwas helfen konnte
Mit freundlichen Grüßen
Jeoni
|
Danke schonmal.
bei 2.2
Bei CreateThread ist der letze parameter die thread id sprich
Createthread ...1) <-Wird ja ausgeführt da diese noch frei ist
Createthread ...1) <-Wird nicht ausgeführt da diese ja belegt ist
Hätteste mal ein konkretes beispiel wie ich das mache bei 2.1?
|
|
|
10/08/2014, 20:21
|
#4
|
elite*gold: 93616
Join Date: Apr 2010
Posts: 13,737
Received Thanks: 14,990
|
Quote:
Originally Posted by Dreamsläps
Danke schonmal.
bei 2.2
Bei CreateThread ist der letze parameter die thread id sprich
Createthread ...1) <-Wird ja ausgeführt da diese noch frei ist
Createthread ...1) <-Wird nicht ausgeführt da diese ja belegt ist
Hätteste mal ein konkretes beispiel wie ich das mache bei 2.1?
|
Das ist so nicht ganz richtig.
Im letzten Parameter wird dir die ThreadID "zurückgegeben".
Du hast überhaupt keine Möglichkeit die ThreadID zu bestimmen.
Ein Beispiel zu deiner zweiten Fragen findest du auch direkt nach 5s googlen
|
|
|
10/08/2014, 22:58
|
#5
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
|
Quote:
Originally Posted by Jeoni
Was genau meinst du mit "Vectors"? Vektoren aus der Mathematik oder die std::vector-Klasse aus der STL? Zu letzterem braucht man wohl kaum ein eigenes Tutorial, da reicht die vollkommen aus.
Zu den mathematischen Konstrukten: ich weiß ja nicht genau, was du von einem Tutorial dazu erwartest, aber vielleicht reicht ja schon der Wikipedia-Artikel darüber aus. Da sind die Definition und auch die Operationen beschrieben.
2. Ich würde dir da generell empfehlen. 2.1 Ich verstehe die Frage nicht so recht. Aber mit kannst du den Thread vom korrespondierenden std::thread-Objekt, welches ihn erstellt hat, lösen, so dass das Objekt gelöscht werden kann, ohne dass der Thread selbst terminiert werden muss.
2.2 s. std::thread
Vielleicht habe ich deine Fragen nicht verstanden und deshalb eine falsche Antwort gegeben, was mir Leid tut, wenn dem so ist. In dem Fall wäre es gut, wenn du deine Belange noch einmal ausführlicher Beschreibst.
Ich hoffe dennoch, dass ich dir etwas helfen konnte
Mit freundlichen Grüßen
Jeoni
|
@2.
Würde ich nicht spontan empfehlen. Das kommt ganz auf die Aufgabe drauf an. Geht es dir wirklich nur ums "Abwechseln" der Threads (z.B. wenn ein Thread auf eine Eingabe wartet), dann ist der C++11 Standard sicher immer vorzuziehen. Geht es dir allerdings wirklich um die Rechenleistung, dann solltest du die Platform spezifischen Kernel-Level-Threads nehmen.
die C++11 Threads können nämlich Implementierungsabhängig User-Level oder Kernel-Level-Threads sein. Bei User-Level Threads zum Beispiel würdest du nie deinen Multicore-Prozessor ausreizen, sondern nur einen einzigen Kern.
Es stimmt zwar, dass die meisten Implementierungen einfach CreateThread auf Windows callen und damit automatisch Kernel-Level-Threads erzeugen, aber es ist eben nicht im Standard festgelegt und wenn man Threads wirklich nur mit dem Hintergedanken benutzt, dass das Programm einen Multicore-Prozessor möglichst gut ausnutzen soll, würde ich doch lieber zu der WinApi greifen.
P.S.
Unter Linux z.B. werden meist die POSIX pthreads benutzt, die ja wiederum nur ein Interface sind. Das heißt die können wiederum Kernel-Level-Threads oder User-Level-Threads sein.
Ist zwar bissel Offtopic, wollte es aber nur einmal anmerken.
|
|
|
10/09/2014, 19:18
|
#6
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Werde mich mal morgen oder so ransetzen habe Praktikum : , Shadow gut das du es ansprichsts. Wie würde das den aussehen ein Thread zu erzeugen unter Linux und Windows (möglichsts gleich da ich nen kleines server projekt machen will und accept() ja wartet dafür die Threads ohne "threadid" damit ich die halt immer wieder starten kann und die vectors fürs überprüfen und zuweisen der Handels in Arrays da mit sie Dynamisch verwendet werden können.)
|
|
|
10/09/2014, 19:59
|
#7
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
|
Quote:
Originally Posted by Dreamsläps
Werde mich mal morgen oder so ransetzen habe Praktikum : , Shadow gut das du es ansprichsts. Wie würde das den aussehen ein Thread zu erzeugen unter Linux und Windows (möglichsts gleich da ich nen kleines server projekt machen will und accept() ja wartet dafür die Threads ohne "threadid" damit ich die halt immer wieder starten kann und die vectors fürs überprüfen und zuweisen der Handels in Arrays da mit sie Dynamisch verwendet werden können.)
|
Da es dir hier nicht um die tatsächliche Parallelisierung, sprich um Multicore Programmierung, geht, kannst du locker std::thread benutzen, daher ist das vorgehen dann für beide Betriebssysteme gleich.
|
|
|
Similar Threads
|
sorry für falschesn Thread aber gibt es hier bei epvp einen San andreas Thread?
08/11/2012 - Trading - 3 Replies
Falls ja schickt mir den Link denn ich suche einen Server der Admins sucht
Danke
|
[Question] Ini file and arrays/vectors
11/10/2011 - General Coding - 1 Replies
Hello,
Im having some difficulties to find answer to my problem searching googles so I decided to post a question on this forums.
lets say I have an ini file containing:
ignore=32056,37010,37012,44012,59016
I want to make two functions:
- writing to ini file array/vector of ignored WORD values (each 2bytes long)
|
All times are GMT +2. The time now is 12:40.
|
|