Announcement

Collapse
No announcement yet.

Multithreading

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multithreading

    Hallo,
    ich heiße jules.ich habe ein Problem mit Multithreading.
    Ich versuch seit lange einen Fehler in ein Programm, das als mutlithreading programmiert wurde zu lösen.

    Das Programm chrash immer an der selbe Stelle.
    Ich habe einen Breakpoint an diese Stelle gesetzt und versuche schrittweise auszuführen (mit F11) aber es zeigt mir an, das diese source nicht angezeigt werden kann.Nur im Assemble mode.

    Übrigens an dieser Stelle werde eine Routine einer fremden Bibliotheke verwendet.

  • #2
    Was erwartest du für eine Antwort?

    "Mein Auto fährt nicht, was kann ich tun?"

    Übrigens an dieser Stelle werde eine Routine einer fremden Bibliotheke verwendet.
    Insofern wirst du den Fehler auch nicht beheben können. Wende dich an den Ersteller der Lib
    Christian

    Comment


    • #3
      sorry für die Formulierung!

      Hier ist noch´mal mein Problem zusammengefasst.


      JobOptions** joblist;

      while(run){
      joblist = new JobOptions* [100];


      for (int i=0;i<100;i++)
      {
      Sleep(200);
      if ((run == true) && ThreadNum < theApp.ThreadNumber ){

      joblist[i] = new JobOptions(i,&carray[0],&carray[1],atoi(carray[2].GetString()),atof(carray[3].GetString()),atoi(carray[4].GetString()), atoi(carray[5].GetString()), atoi(carray[6].GetString()));
      .....
      ....
      AfxBeginThread(VTKAppThread,(LPVOID)joblist[i]);//hier ist VTKAppThread eine Separate Routine.
      }//Ende von If-Schleife
      }//Ende von for-schleife
      for (int i = 0;i< 100;i++) {
      if ((run == true) && ThreadNum < theApp.ThreadNumber ){
      delete joblist[i];
      }
      }
      delete[] joblist;
      }// Ende von While.


      Meine Frage ist folgendend:

      Kann ich so einfach den Speicher am Ende freigeben?
      Oder ist die Sysntax richtig.

      Comment


      • #4
        Wozu erst einzelne Zeiger löschen, wenn doch am Ende alles gelöscht wird?

        Denk das Problem liegt in einer fremden Datei?
        Christian

        Comment


        • #5
          wegen folgende:

          wegen joblist[i] = new JobOptions(i,&carray[0],&carray[1],atoi(carray[2].GetString()),atof(carray[3].GetString()),atoi(carray[4].GetString()), atoi(carray[5].GetString()), atoi(carray[6].GetString()));

          Comment


          • #6
            da sind keine Zeichen

            das sind Object von type JobOption.
            Joboption ist eine Klasse.

            Comment


            • #7
              Mag sein, dass meine Augen zu alt sind

              if ((run == true) && ThreadNum < theApp.ThreadNumber ){
              delete joblist[i];
              }
              }
              delete[] joblist;
              Christian

              Comment


              • #8
                eine Klammer wenig

                ich habe eine Klammer mehr gesezt.

                JobOptions** joblist;

                while(run){
                joblist = new JobOptions* [100];


                for (int i=0;i<100;i++)
                {
                Sleep(200);
                if ((run == true) && ThreadNum < theApp.ThreadNumber ){

                joblist[i] = new JobOptions(i,&carray[0],&carray[1],atoi(carray[2].GetString()),atof(carray[3].GetString()),atoi(carray[4].GetString()), atoi(carray[5].GetString()), atoi(carray[6].GetString()));
                .....
                ....
                AfxBeginThread(VTKAppThread,(LPVOID)joblist[i]);//hier ist VTKAppThread eine Separate Routine.
                }//Ende von If-Schleife
                }//Ende von for-schleife

                if ((run == true) && ThreadNum < theApp.ThreadNumber ){
                for (int i = 0;i< 100;i++) {

                delete joblist[i];
                }// End von for
                delete[] joblist;
                }// Ende von if
                }// Ende von While.


                jetzt ist richtig.

                Comment

                Working...
                X