python - Python全局变量线程安全
问题描述
我为我的脚本使用了 thingsboard python sdk & vlc,但仍然想知道我的全局变量是否需要同步以实现线程安全
import time
import logging
import vlc
from tb_device_mqtt import TBDeviceMqttClient
def on_server_side_rpc_request(request_id, request_body):
global ins, player, media
media = ins.media_new(request_body["params"]["url"])
player.set_media(media)
player.play()
client = TBDeviceMqttClient("127.0.0.1", "A1_TEST_TOKEN")
client.set_server_side_rpc_request_handler(on_server_side_rpc_request)
client.connect()
ins = vlc.Instance("--aout=alsa --verbose=9")
player = ins.media_player_new()
media = ins.media_new(DEFAULT_STREAM_URI)
player.set_media(media)
while True:
if player.get_state() == State.Ended:
player.play()
time.sleep(10)
thingsboard python sdk:https ://github.com/thingsboard/thingsboard-python-client-sdk
我想知道我是否需要锁定/解锁变量 ins、媒体、播放器?
非常感谢您的帮助
解决方案
推荐阅读
- web - How does a website serve a list of data to the user for page/slider content?
- shopify - Show color swatches in facets on collection page using Instant Search Algolia
- node.js - 当我在 NodeJS 应用程序中运行 nodemon 时,端口 3306 已在使用中
- java - 如何计算此代码的空间和时间复杂度
- android - 使用 Hilt 预填充 Room 数据库,无需创建额外的数据库实例
- vue.js - Quasar Dev 卡住没有错误
- angular - Ionic 5 Cordova 地理定位和地理编码器有时无法获取纬度和经度
- javascript - 我应该如何使用 if 条件使用 javascript 在 for 循环中设置限制
- wordpress - 为产品使用多个类别时,产品页面上的面包屑不反映当前 url/slug
- app-store-connect - 如何协调应用内购买的财务信息与交易?