我目前正在研究多线程编程,并且很难掌握线程之间的共享资源。
我有两个共享资源,time并且alarm
我有三个线程,一个time每秒不断更新,一个监控time,alarm最后一个根据用户请求time进行更改alarm。
这是使用互斥信号量来完成的,我有一个简单的设置,如下所述:
Main线程,程序从这里开始,宿主time和alarm公共变量并实例化子线程。Tick子线程,每1000ms休眠一次,然后修改Mother线程的time变量UserInput子线程,在捕获用户输入之前被阻塞,并在线程中修改time或修改。alarmMainAlarm子线程,每 1000 毫秒休眠一次,当alarm==时关闭time
线程为每个资源保留一个互斥锁,Main因此一次只有一个线程可以访问它。
这样的设计是合理的还是我只是把事情复杂化了?