当达到countDown时,是否可以保持线程的顺序。
如果线程1在线程2之前调用await,那么它们应该以相同的顺序重新排列。
这甚至没有任何意义:)?
答案 0 :(得分:0)
您似乎在from setuptools import setup
from setuptools.command.develop import develop
from setuptools.command.install import install
from subprocess import check_call
class PostDevelopCommand(develop):
"""Post-installation for development mode."""
def run(self):
check_call("apt-get install this-package".split())
develop.run(self)
class PostInstallCommand(install):
"""Post-installation for installation mode."""
def run(self):
check_call("apt-get install this-package".split())
install.run(self)
setup(
...
谈论某种公平。
一般来说,公平性并不是倒计时锁存器的关注点(特别是在Java及其CountDownLatch
实现中)。当达到预定义的倒计时数时,锁存器将发出所有等待它的线程的信号。
饥饿或调度顺序与此时的锁存功能正交 - 从等待线程的集合/队列中没有受控选择的概念,就像您可能使用信号量或互斥量一样。
答案 1 :(得分:0)
...从等待线程的集合/队列中没有受控选择的概念,就像你可能有信号量或互斥量一样。
这是因为Semaphore或Mutex上的单个操作只能释放一个等待线程。如果有多个线程正在等待,您可以通过说第一个操作释放这个线程来定义它们的释放顺序,然后下一个操作释放该线程,依此类推。
CountDownLatch是不同的,因为当理想行为是单个操作在同一时刻释放所有等待线程时,尝试定义一个顺序会有什么意义呢?