Threads zijn de objecten die multi-tasking mogelijk te maken . Draden , die elk overeenkomen met een "time slice " of afzonderlijke staat van het lopende programma , creëren de illusie dat meerdere gebruikers een server applicatie kunt delen . De Microsoft Foundation Class Library kapselt discussies via het CWinThread klasse, die gebruikers en worker threads die op de achtergrond draaien ondersteunt . In een paar stappen kunt u een eenvoudig programma met behulp van een Worker Thread maken . Wat je nodig hebt Microsoft Visual Studio IDE Boek over MFC , zoals " Programmeren Windows met MFC " van Jeff Prosise Toon Meer Aanwijzingen Start 1 Microsoft Visual Studio . Maak een dialoog gebaseerde MFC -project door te klikken op " File " uit het bovenste menu en vervolgens " Nieuw . " Na het klikken op het tabblad " Projecten " , selecteer " MFC AppWizard ( exe ) " en type " WThread " in de "Projectnaam : " bewerken doos . Klik op " OK . " In het volgende scherm wizard " Dialog gebaseerd , " en klik op "Finish " en " OK . " De wizard genereert een standaard dialoogvenster en de bijbehorende bronbestanden . Kopen van 2 Maak een functie die zal fungeren als de Worker draad voor deze MFC tutorial. Open het WorkerThreadDlg.cpp bestand door de uitbreiding van de map " Source Files " in het linkerpaneel en dubbelklik op het bestand . Kopieer /plak de volgende broncode aan het einde van het bestand : leegte ThreadProcess ( LPVOID param ) { CFile f ; f.Open ( " proof.txt " , CFile :: modeCreate | CFile : : modeWrite ) ; CString str ; for (int i = 0; istr.format ( " Num : % d " , i ) ; f.write ( str , str.GetLength ( ) ) ; } f.close ( ) ; } 3 Activeer de Arbeider draad ( de functie in stap 2 ) in een gebeurtenis Voor een evenement , gebruikt u de klik van het standaard dialoogvenster 's . " OK "-knop . Krijg terug in het ontwerp -modus door te drukken op Ctrl + F4 . Selecteer de "OK " knop en dubbelklik erop . Druk op " OK" wanneer het vakje " Add Lid Functie " verschijnt . Kopieer en plak de volgende code in de braces van Madame AfxBeginThread ( ThreadProcess , NULL , THREAD_PRIORITY_TIME_CRITICAL , 0 , 0 , NULL ) " CWorkerThreadDlg :: OnOK ( ) . " ; MessageBox ( "Worker Thread Activated ' , NULL , NULL ) ; < br > 4 compileren en uitvoeren van de applicatie . Wanneer u klikt op " OK ", een boodschap verschijnt waarin staat dat de achtergrond Werknemer draad is uitgevoerd . Ga naar het project directory en zie de geschreven tekst in " proof.txt . " < br >
|