linux如何停止线程

linux如何停止线程,第1张

杀死线程 所在的进程就可以,

ps aux | grep 进程名

kill -TERM 进程号

如果你指的写程序, 那就参考 man pthread_exit

你是做实验了还是看书了,哪里说sleep会导致其他线程休眠呢?(windows下MFC里面随意sleep似乎会导致这样?)

下面的短程序拿回去编译下,就知道到底sleep会不会使得其他线程也休眠了。

pthread_cond_wait当然可以使得线程休眠,只是你还得在另外一个线程中使得pthread_cond_wait的等待的条件满足才可以使得介个线程返回,不觉得单纯为了等待多开一个线程会很麻烦?那你愿意别的方式也可以阿...POSIX的互斥、信号量都能控制线程,不是简单的等待功能。

#include <stdio.h>

#include <stdlib.h>

#include <pthread.h>

void thread1(void)

{

int i=0

while(i<10)

{

sleep(3)

printf("t1\n")

fflush(stdout)

i++

}

}

void thread2(void)

{

int i=0

while(i<10)

{

sleep(1)

printf("t2\n")

fflush(stdout)

i++

}

}

int main()

{

pthread_t t1,t2

pthread_create(&t1,NULL,(void*)thread1,NULL)

pthread_create(&t2,NULL,(void*)thread2,NULL)

pthread_join(t1,NULL)

pthread_join(t2,NULL)

return 0

}

你先在命令行下输入top

然后找到你想停止掉的那个进程最前面的序列号

记住

然后ctrl+c退出

然后再输入kill+看到那个软件前的序列号

就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8890777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存