为什么await queue.get()阻塞?
import asyncio
async def producer(queue, item):
await queue.put(item)
async def consumer(queue):
val = await queue.get()
print("val = %d" % val)
async def main():
queue = asyncio.Queue()
await consumer(queue)
await producer(queue, 1)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
Run Code Online (Sandbox Code Playgroud)
如果我在consumer ()之前调用producer(),它工作正常也就是说,以下工作正常。
async def main():
queue = asyncio.Queue()
await producer(queue, 1)
await consumer(queue)
Run Code Online (Sandbox Code Playgroud)
为什么不等待 queue.get() 将控制权交还给事件循环,以便生产者协程可以运行,这将填充队列,以便 queue.get() 可以返回。
我正在使用ajax调用来调用我的php文件并使用这些语句将参数传递给文件.
在我的html文件中:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","Elo_algorithm.php?win="+i+"&lost="+j,true);
xml.send();
Run Code Online (Sandbox Code Playgroud)
在我的PHP文件中:
$win=$_GET['win'];
$lost=$_GET['lost'];
Run Code Online (Sandbox Code Playgroud)
和其余的代码.
但是,当我运行此文件时,我收到以下错误:
注意:未定义的索引:在第4行的C:\ xampp\htdocs\Elo_algorithm.php中获胜
注意:未定义的索引:在第6行的C:\ xampp\htdocs\Elo_algorithm.php中丢失
我该怎么办?