Python time.sleep对线程访问的影响
在python中,我有一个访问全局对象的多线程应用程序。我很好奇,如果我将time.sleep()放在一个即将访问全局对象的线程(比如线程1)上,time.sleep()是否会延迟线程1对全局对象的访问,这样其他没有时间的线程就可以访问全局对象了。sleep()是否能够首先访问全局对象?线程在Python中非常复杂,并且在同一内存堆中运行。线程基本上是并行运行的,即多个线程交错在一起,这样一次只运行一次,它们在很短的时间内交替运行(考虑到它们需要访问解释器) 当你让一个线程进入睡眠状态时,它基本上使用了底层的系统睡眠功能,并阻止了对它的所有操作。但是,其他线程肯定是可操作的。因此,当您说THREAD1在即将访问全局变量之前处于睡眠状态时,其他线程显然会使用该变量,因为它们正在运行,而THREAD1没有Python time.sleep对线程访问的影响,python,multithreading,sleep,thread-sleep,Python,Multithreading,Sleep,Thread Sleep,在python中,我有一个访问全局对象的多线程应用程序。我很好奇,如果我将time.sleep()放在一个即将访问全局对象的线程(比如线程1)上,time.sleep()是否会延迟线程1对全局对象的访问,这样其他没有时间的线程就可以访问全局对象了。sleep()是否能够首先访问全局对象?线程在Python中非常复杂,并且在同一内存堆中运行。线程基本上是并行运行的,即多个线程交错在一起,这样一次只运行一次,它们在很短的时间内交替运行(考虑到它们需要访问解释器) 当你让一个线程进入睡眠状态时,它基本
一旦THREAD1唤醒(如果需要),它将获取GIL,从而访问全局变量。由于并发性,它再次与其他线程交叉,因此在激活时可以立即访问全局变量。如果其他线程正在使用它,那么在THREAD1开始操作之前,它们就会放弃访问权限 线程在Python中非常复杂,并且在同一内存堆中运行。线程基本上是并行运行的,即多个线程交错在一起,这样一次只运行一次,它们在很短的时间内交替运行(考虑到它们需要访问解释器) 当你让一个线程进入睡眠状态时,它基本上使用了底层的系统睡眠功能,并阻止了对它的所有操作。但是,其他线程肯定是可操作的。因此,当您说THREAD1在即将访问全局变量之前处于睡眠状态时,其他线程显然会使用该变量,因为它们正在运行,而THREAD1没有
一旦THREAD1唤醒(如果需要),它将获取GIL,从而访问全局变量。由于并发性,它再次与其他线程交叉,因此在激活时可以立即访问全局变量。如果其他线程正在使用它,那么在THREAD1开始操作之前,它们就会放弃访问权限 据我所知,如果您在访问全局对象之前在线程1上设置睡眠,那么其他没有睡眠的线程将首先获得访问权限。你们到底想问什么?据我所知,若你们在访问全局对象之前在线程1上设置睡眠,那个么其他并没有睡眠的线程将首先获得访问权。你到底想问什么?