Bootstrap

Linux中线程接口(分离,查看id)mv指令

分离线程

默认情况下,新创建的线程是joinable(状态)的,线程退出后,需要对其进行pthread_join操作,否则无法释放 资源,从而造成系统泄漏。

如果不关心线程的返回值,join是一种负担,这个时候,我们可以告诉系统,当线程退出时,自动释放线 程资源。

int pthread_detach(pthread_t thread);

 #include <sys/types.h>
       #include <sys/shm.h>

       void *shmat(int shmid, const void *shmaddr, int shmflg);

       int shmdt(const void *shmaddr);

与共享内存那块命名相似但是完全没有关系。

查看线程id:pthread_self()

#include<iostream>
#include<string>
#include<unistd.h>
#include<pthread.h>

using namespace std;

string changeId(const pthread_t &thread_id)
{
    char tid[128];
    snprintf(tid,sizeof(tid),"0x%x",thread_id);
    return tid;
}
void *start_routine(void*args)
{
    string threadname=static_cast<const char*>(args);
    while(true)
    {
        cout<<threadname<<"running ..."<<changeId(pthread_self())<<endl;
        sleep(1);
    }
}
int main()
{
    pthread_t tid;
    pthread_create(&tid,nullptr,start_routine,(void*)"thread 1");
    string main_id=changeId(pthread_self());
    cout<<"main thread running new thread id : "<<changeId(tid)<<"main thread id: "<<main_id<<endl;
    pthread_join(tid,nullptr);

    return 0;
}

 ./mythread
main thread running new thread id : 0xeb525700main thread id: 0xec539740
thread 1running ...0xeb525700
thread 1running ...0xeb525700
thread 1running ...0xeb525700
thread 1running ...0xeb525700
thread 1running ...0xeb525700
thread 1running ...0xeb525700

linux常用命令(6):mv命令(移动文件/目录)

linux常用命令(6):mv命令(移动文件/目录)_linux mv移动文件到指定目录-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_49114503/article/details/132993612

mv参数设置与运行结果

命令格式运行结果
mv 文件名 文件名将源文件名改为目标文件名
mv 文件名 目录名将文件移动到目标目录
mv 目录名 目录名目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv 目录名 文件名出错

 

;