设计一个 用线程跑的持续运行的 1-100输出
时间: 2023-04-01 15:01:49 浏览: 54
好的,我可以回答这个问题。以下是一个用线程跑的持续运行的 1-100 输出的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_numbers(void *arg) {
int i;
for (i = 1; i <= 100; i++) {
printf("%d\n", i);
}
return NULL;
}
int main() {
pthread_t thread;
pthread_create(&thread, NULL, print_numbers, NULL);
pthread_join(thread, NULL);
return ;
}
这个程序使用了 pthread 库来创建一个线程,然后在这个线程中输出 1-100 的数字。主线程等待子线程结束后才退出程序。这样就可以实现一个持续运行的 1-100 输出程序了。
相关问题
用python设计一个 用线程跑的持续运行的 1-100输出
您好,我是 CSDN 开发的 C 知道,以下是回答您的问题:
可以使用 Python 的 threading 模块来实现线程,代码如下:
import threading
def print_numbers():
for i in range(1, 101):
print(i)
t = threading.Thread(target=print_numbers)
t.start()
这段代码会创建一个新的线程,并在该线程中运行 print_numbers() 函数,该函数会输出 1 到 100 的数字。由于该线程是在后台运行的,因此程序会继续执行下去,直到主线程结束或者手动停止该线程。
C语言创建多线程运行一个函数并且函数中能控制关闭退出进程
在C语言中,可以使用线程库来创建多线程并运行一个函数。同时,可以通过在函数中使用全局变量或信号量等机制来控制线程的关闭和退出进程。
下面是一个示例代码,其中创建了一个新的线程,运行名为`myThreadFunc`的函数,并在函数中增加了一个全局变量`g_isRunning`来控制线程的退出:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int g_isRunning = 1;
void* myThreadFunc(void* arg) {
while (g_isRunning) {
// 线程运行的代码
printf("This is a running thread.\n");
}
printf("Thread is exiting...\n");
pthread_exit(NULL);
}
int main() {
pthread_t myThread;
int ret = pthread_create(&myThread, NULL, myThreadFunc, NULL);
if (ret != 0) {
printf("Error: Failed to create thread.\n");
exit(EXIT_FAILURE);
}
// 主线程执行的代码
printf("Main thread is running...\n");
// 等待一段时间后关闭线程
sleep(5);
g_isRunning = 0;
// 等待线程退出
pthread_join(myThread, NULL);
printf("All threads are exited.\n");
// 退出进程
exit(EXIT_SUCCESS);
}
```
在上面的代码中,首先创建了一个新的线程,并将`myThreadFunc`函数作为线程的入口点。在`myThreadFunc`函数中,使用了一个循环来持续执行线程的代码,同时判断全局变量`g_isRunning`的值来控制线程的退出。在`main`函数中,输出了一条信息表示主线程正在运行,并在等待5秒后将`g_isRunning`设置为0来关闭线程。最后,使用`pthread_join`函数等待线程退出,并输出一条消息表示所有线程都已退出。最后,调用`exit`函数来结束进程。