zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【C语言】详解线程 — 通过 “加锁” 解决并发程序引起的共享内存问题

C语言线程 详解 解决 通过 引起 共享内存 加锁
2023-09-14 09:05:33 时间

目录

1、模式一:未加锁

2、问题解决


1、模式一:未加锁

两个子线程同时操作同一个函数。

#include <stdio.h>
#include <pthread.h>

int sum = 0;

// 线程执行的函数
void* myFunc_1(void* args)
{
    for(int i = 1; i <= 100000; i++)
    {
        sum++;
    }
}


int main() {
    // 线程ID
    pthread_t id_1,id_2;

    // 创建线程
    pthread_create(&id_1,NULL,myFunc_1,NULL);

    // 创建线程
    pthread_create(&id_2,NUL