#include<iostream>
#include<thread>
#include <fstream>
void simpleT()
{
std::ofstream file;
file.open("./hello.txt",std::ofstream::out | std::ofstream::app);
if(file.is_open())
{
file << "hello\r\n" ;
}
file.close();
std::cout << "hello cpp Thread" << std::endl;
}
/* compile : g++ simpleThread.cpp -std=c++11 -pthread */
int main()
{
std::cout << std::thread::hardware_concurrency() << std::endl;
std::thread t(simpleT);
t.join();
/*t.detach();*/
}
result:
[root@jn thread]# g++ simpleThread.cpp -std=c++11 -pthread
[root@jn thread]# ./a.out
1
hello cpp Thread
[root@jn thread]#
各种id
#include <iostream>
#include <cstdint>
#include <atomic>
#include <thread>
#include <pthread.h>
#include <sys/syscall.h>
#include <unistd.h>
std::atomic<bool> isRunning(true);
int main()
{
isRunning = true;//false;
int n = 10;
while( n--){
if(isRunning)
{
std::this_thread::yield();
std::cout << "id: " << std::this_thread::get_id() << " pthread id:" << pthread_self() << " sysThreadid:" << syscall(SYS_gettid) << std::endl;
}
else
{
std::cout << UINTMAX_MAX << std::endl;
}
}
return 0;
}
result:
[root@jn thread]# g++ yield.cpp -std=c++11 -pthread
[root@jn thread]# ./a.out
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
id: 140596849149760 pthread id:140596849149760 sysThreadid:16031
[root@jn thread]#