创建两个线程,定义两个变量并赋值,一个线程计算两个变量的加法,另一个 线程计算两个变量的减法
时间: 2024-04-30 21:19:34 浏览: 84
下面是一个使用Python threading模块实现的示例代码:
```python
import threading
# 定义全局变量a和b,并赋初值
a = 10
b = 5
# 定义加法线程
def add_thread():
global a, b
print("加法线程启动")
print("a + b = ", a + b)
# 定义减法线程
def sub_thread():
global a, b
print("减法线程启动")
print("a - b = ", a - b)
# 创建加法线程和减法线程
t1 = threading.Thread(target=add_thread)
t2 = threading.Thread(target=sub_thread)
# 启动线程
t1.start()
t2.start()
# 等待线程执行完毕
t1.join()
t2.join()
print("主线程执行完毕")
```
在上面的代码中,我们先定义了两个全局变量a和b,并初始化为10和5。然后我们定义了add_thread和sub_thread两个函数分别用于执行加法和减法操作,并在函数内部访问全局变量a和b。接着我们创建了两个线程t1和t2,分别用于执行add_thread和sub_thread函数。最后,我们启动了这两个线程,并等待它们都执行完毕后,主线程才会继续执行。
相关问题
创建两个线程,定义两个变量并赋值,一个线程计算两个变量的加法,另一个 线程计算两个变量的减法 c语言
以下是使用 C 语言创建两个线程,一个计算加法,另一个计算减法的示例代码:
```c
#include <stdio.h>
#include <pthread.h>
int a = 10, b = 5, sum, diff;
void* add(void* arg) {
sum = a + b;
printf("Sum of %d and %d is %d\n", a, b, sum);
pthread_exit(NULL);
}
void* subtract(void* arg) {
diff = a - b;
printf("Difference of %d and %d is %d\n", a, b, diff);
pthread_exit(NULL);
}
int main() {
pthread_t tid1, tid2;
pthread_create(&tid1, NULL, add, NULL);
pthread_create(&tid2, NULL, subtract, NULL);
pthread_join(tid1, NULL);
pthread_join(tid2, NULL);
return 0;
}
```
在上面的代码中,我们定义了两个整型变量 `a` 和 `b`,并分别赋值为 10 和 5。然后,我们使用 `pthread_create` 函数创建了两个线程,一个线程调用 `add` 函数计算 `a` 和 `b` 的加法,另一个线程调用 `subtract` 函数计算 `a` 和 `b` 的减法。在每个函数中,我们计算了结果并打印输出。最后,我们使用 `pthread_join` 函数等待两个线程执行完毕。
用C语言创建两个线程,定义两个变量并赋值,一个线程计算两个变量的加法,另一个 线程计算两个变量的减法
以下是使用C语言创建两个线程,定义两个变量并赋值,一个线程计算两个变量的加法,另一个线程计算两个变量的减法的示例代码:
```c
#include <stdio.h>
#include <pthread.h>
int var1 = 10; // 定义变量1并赋值为10
int var2 = 5; // 定义变量2并赋值为5
// 线程1函数,计算var1和var2的加法
void *thread_add(void *arg) {
int sum = var1 + var2;
printf("Sum of %d and %d is %d\n", var1, var2, sum);
return NULL;
}
// 线程2函数,计算var1和var2的减法
void *thread_sub(void *arg) {
int diff = var1 - var2;
printf("Difference of %d and %d is %d\n", var1, var2, diff);
return NULL;
}
int main() {
// 创建线程1
pthread_t tid1;
pthread_create(&tid1, NULL, thread_add, NULL);
// 创建线程2
pthread_t tid2;
pthread_create(&tid2, NULL, thread_sub, NULL);
// 等待线程1和线程2结束
pthread_join(tid1, NULL);
pthread_join(tid2, NULL);
return 0;
}
```
在上面的代码中,我们首先定义了两个变量`var1`和`var2`并赋值为10和5。然后我们创建了两个线程,一个线程计算`var1`和`var2`的加法,另一个线程计算`var1`和`var2`的减法。在`main`函数中,我们使用`pthread_join`函数等待线程1和线程2执行结束,然后程序退出。
阅读全文