first commit
This commit is contained in:
49
thread test/thread.cpp
Normal file
49
thread test/thread.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
//compile with "g++ -pthread thread.cpp -o main"
|
||||
//note to self: try to use ncurses in the next one
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
using namespace std;
|
||||
|
||||
#ifdef _WIN32
|
||||
//this part has never been tested and is unlikely to work
|
||||
#include <windows.h>;
|
||||
void fnsleep(unsigned milliseconds)
|
||||
{
|
||||
Sleep(milliseconds);
|
||||
}
|
||||
|
||||
#else
|
||||
#include <unistd.h>
|
||||
void fnsleep(unsigned milliseconds)
|
||||
{
|
||||
usleep(milliseconds * 1000);
|
||||
}
|
||||
#endif
|
||||
|
||||
void helloWorld(int y)
|
||||
{
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
//a terrible, awful way of getting linux terminal text colors without ncurses.
|
||||
cout << "\033[1;31mbold red text\033[0m\n";
|
||||
cout << "\x1B[32mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\x1B[0m\n";
|
||||
cout << "Hello world #" << i + 1 << endl;
|
||||
fnsleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
thread thread_object(helloWorld, 1);
|
||||
cout << "This string gets printed after running the hello world function but prints BEFORE helloworld prints. That means this program uses threads" << endl;
|
||||
//use detach to make the thread run asychronoussly. use join to WAIT HERE until its finished. Try it out! (i tested both cases and it works on my machine)
|
||||
//thread_object.detach();
|
||||
thread_object.join();
|
||||
cout << "Please enter your name: " << endl;
|
||||
string name;
|
||||
cin >> name;
|
||||
cout << name << " is a [redacted for academic purposes]" << endl;
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user