原创博客,欢迎光临
嵌入式是本职,AI 是兴趣,其它是无奈

多线程编程与线程安全问题

多任务编程,其中一种实现方式就是使用多线程。

在 C 语言中,如果某个函数被多个线程调用,函数内的局部变量通常不需要加锁访问。这是因为局部变量存储在每个线程的栈空间中,每个线程都有自己独立的栈空间,因此每个线程对局部变量的访问是独立的,不会相互干扰。

但多线程操作全局变量和静态变量:需要加锁!

  • 局部变量:每个线程有自己的栈空间,局部变量存储在栈中,因此不需要加锁。
  • 共享资源:如果函数内部访问了全局变量或静态变量,需要加锁来确保线程安全。
  • 函数调用:如果函数内部调用了其他函数,而这些函数访问了共享资源,也需要加锁。

赞(0)
未经允许不得转载:程序员大狐狸 » 多线程编程与线程安全问题

评论 抢沙发

登录

找回密码

注册