多线程案例

以下是一个简单的多线程案例,实现了一个简单的计数器程序。该程序会同时启动两个线程,每个线程都会对计数器进行加一操作,并输出当前计数器的值。

python 复制代码
import threading

# 定义一个全局变量作为计数器
counter = 0

# 定义一个线程锁,用于对计数器进行互斥操作
lock = threading.Lock()

# 定义一个线程函数,每次将计数器加1,并输出当前计数器的值
def increment():
    global counter
    with lock:
        counter += 1
    print("Current counter value: {}".format(counter))

# 创建两个线程
t1 = threading.Thread(target=increment)
t2 = threading.Thread(target=increment)

# 启动线程
t1.start()
t2.start()

# 等待线程执行完毕
t1.join()
t2.join()

当程序运行时,输出如下:

复制代码
Current counter value: 1
Current counter value: 2

可以看到,两个线程同时对计数器进行加一操作,并输出了当前计数器的值。由于使用了线程锁,保证了计数器的操作互斥,避免了数据竞争的问题。

相关推荐
张3蜂2 分钟前
Python 中的 Conda 详解:它到底解决了什么问题?
开发语言·python·conda
一条大祥脚2 分钟前
KMP原理+例题
算法
大闲在人8 小时前
C、C++区别还是蛮大的
c语言·开发语言·c++
小灵不想卷8 小时前
LangChain4j Low 和 Hight-level API
java·langchain4j
Cosmoshhhyyy9 小时前
《Effective Java》解读第39条:注解优先于命名模式
java·开发语言
亓才孓9 小时前
[SpringIOC]NoSuchBeanDefinitionException
java·spring
追随者永远是胜利者9 小时前
(LeetCode-Hot100)20. 有效的括号
java·算法·leetcode·职场和发展·go
清水白石00810 小时前
Python 纯函数编程:从理念到实战的完整指南
开发语言·python
掘根10 小时前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++