鱼C论坛

 找回密码
 立即注册
查看: 2151|回复: 2

[已解决]求助帖

[复制链接]
发表于 2020-11-18 16:00:25 | 显示全部楼层 |阅读模式
10鱼币
各位大佬工作中遇见一个问题,百思不得其解,来鱼吧来问问大佬们,

问题是:大致的是,一个用户登录的时候拿到它的cookie里面的token,通过token取到他的useid,我要拿到它的ID做别的事情。后面的步骤以及处理好了。现在是固定的值

同事说是要用到threading.local,保证每个用户之间不冲突,没看懂。希望大佬指点一二
最佳答案
2020-11-18 16:00:26
使用多线程,每个线程中的值不同
例如:
import threading
import logging
import random

logging.basicConfig(level=logging.DEBUG,
                    format='(%(threadName)-0s) %(message)s',)

def show(d):
    try:
        val = d.val
    except AttributeError:
        logging.debug('No value yet')
    else:
        logging.debug('value=%s', val)

def f(d):
    show(d)
    d.val = random.randint(1, 100)
    show(d)

if __name__ == '__main__':
    d = threading.local()
    show(d)
    d.val = 999
    show(d)

    for i in range(2):
        t = threading.Thread(target=f, args=(d,))
        t.start()

最佳答案

查看完整内容

使用多线程,每个线程中的值不同 例如:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 16:00:26 | 显示全部楼层    本楼为最佳答案   
使用多线程,每个线程中的值不同
例如:
import threading
import logging
import random

logging.basicConfig(level=logging.DEBUG,
                    format='(%(threadName)-0s) %(message)s',)

def show(d):
    try:
        val = d.val
    except AttributeError:
        logging.debug('No value yet')
    else:
        logging.debug('value=%s', val)

def f(d):
    show(d)
    d.val = random.randint(1, 100)
    show(d)

if __name__ == '__main__':
    d = threading.local()
    show(d)
    d.val = 999
    show(d)

    for i in range(2):
        t = threading.Thread(target=f, args=(d,))
        t.start()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-1 09:47:02 | 显示全部楼层
XiaoPaiShen 发表于 2020-11-18 16:00
使用多线程,每个线程中的值不同
例如:

感谢大佬,请问大佬有没有python学习群呀,共同学习共同进步的那种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 21:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表