Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
a6168f9e
Kaydet (Commit)
a6168f9e
authored
May 25, 2008
tarafından
Georg Brandl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Queue renaming reversal part 3: move module into place and
change imports and other references. Closes #2925.
üst
8107290f
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
55 additions
and
59 deletions
+55
-59
queue.rst
Doc/library/queue.rst
+15
-17
threading.rst
Doc/library/threading.rst
+1
-1
simple_stmts.rst
Doc/reference/simple_stmts.rst
+1
-1
stdlib2.rst
Doc/tutorial/stdlib2.rst
+8
-8
2.6.rst
Doc/whatsnew/2.6.rst
+1
-1
Queue.py
Lib/Queue.py
+0
-0
rpc.py
Lib/idlelib/rpc.py
+4
-4
run.py
Lib/idlelib/run.py
+2
-2
test___all__.py
Lib/test/test___all__.py
+1
-1
test_dummy_thread.py
Lib/test/test_dummy_thread.py
+3
-3
test_py3kwarn.py
Lib/test/test_py3kwarn.py
+1
-3
test_queue.py
Lib/test/test_queue.py
+12
-12
test_socket.py
Lib/test/test_socket.py
+2
-2
cheatsheet
Misc/cheatsheet
+2
-2
wsgui.py
Tools/webchecker/wsgui.py
+2
-2
No files found.
Doc/library/queue.rst
Dosyayı görüntüle @
a6168f9e
...
...
@@ -2,17 +2,15 @@
===========================================
.. module:: Queue
:synopsis: Old name for the queue module.
.. module:: queue
:synopsis: A synchronized queue class.
.. note::
The :mod:`Queue` module has been renamed to :mod:`queue` in Python 3.0. It
is importable under both names in Python 2.6 and the rest of the 2.x series.
The :mod:`Queue` module has been renamed to :mod:`queue` in Python 3.0. The
:term:`2to3` tool will automatically adapt imports when converting your
sources to 3.0.
The :mod:`
q
ueue` module implements multi-producer, multi-consumer queues.
The :mod:`
Q
ueue` module implements multi-producer, multi-consumer queues.
It is especially useful in threaded programming when information must be
exchanged safely between multiple threads. The :class:`Queue` class in this
module implements all the required locking semantics. It depends on the
...
...
@@ -26,7 +24,7 @@ the first retrieved (operating like a stack). With a priority queue,
the entries are kept sorted (using the :mod:`heapq` module) and the
lowest valued entry is retrieved first.
The :mod:`
q
ueue` module defines the following classes and exceptions:
The :mod:`
Q
ueue` module defines the following classes and exceptions:
.. class:: Queue(maxsize)
...
...
@@ -75,7 +73,7 @@ Queue Objects
-------------
Queue objects (:class:`Queue`, :class:`LifoQueue`, or :class:`PriorityQueue`)
provide the public methods described below.
provide the public methods described below.
.. method:: Queue.qsize()
...
...
@@ -170,20 +168,20 @@ fully processed by daemon consumer threads.
Example of how to wait for enqueued tasks to be completed::
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
q = Queue()
for i in range(num_worker_threads):
q = Queue()
for i in range(num_worker_threads):
t = Thread(target=worker)
t.setDaemon(True)
t.start()
t.start()
for item in source():
q.put(item)
q.put(item)
q.join() # block until all tasks are done
Doc/library/threading.rst
Dosyayı görüntüle @
a6168f9e
...
...
@@ -8,7 +8,7 @@
This module constructs higher-level threading interfaces on top of the lower
level :mod:`thread` module.
See also the :mod:`mutex` and :mod:`
q
ueue` modules.
See also the :mod:`mutex` and :mod:`
Q
ueue` modules.
The :mod:`dummy_threading` module is provided for situations where
:mod:`threading` cannot be used because :mod:`thread` is missing.
...
...
Doc/reference/simple_stmts.rst
Dosyayı görüntüle @
a6168f9e
...
...
@@ -534,7 +534,7 @@ The :keyword:`raise` statement
If no expressions are present, :keyword:`raise` re-raises the last exception
that was active in the current scope. If no exception is active in the current
scope, a :exc:`TypeError` exception is raised indicating that this is an error
(if running under IDLE, a :exc:`
q
ueue.Empty` exception is raised instead).
(if running under IDLE, a :exc:`
Q
ueue.Empty` exception is raised instead).
Otherwise, :keyword:`raise` evaluates the expressions to get three objects,
using ``None`` as the value of omitted expressions. The first two objects are
...
...
Doc/tutorial/stdlib2.rst
Dosyayı görüntüle @
a6168f9e
...
...
@@ -16,7 +16,7 @@ Output Formatting
The :mod:`repr` module provides a version of :func:`repr` customized for
abbreviated displays of large or deeply nested containers::
>>> import repr
>>> import repr
>>> repr.repr(set('supercalifragilisticexpialidocious'))
"set(['a', 'c', 'd', 'e', 'f', 'g', ...])"
...
...
@@ -174,7 +174,7 @@ tasks in background while the main program continues to run::
class AsyncZip(threading.Thread):
def __init__(self, infile, outfile):
threading.Thread.__init__(self)
threading.Thread.__init__(self)
self.infile = infile
self.outfile = outfile
def run(self):
...
...
@@ -198,9 +198,9 @@ variables, and semaphores.
While those tools are powerful, minor design errors can result in problems that
are difficult to reproduce. So, the preferred approach to task coordination is
to concentrate all access to a resource in a single thread and then use the
:mod:`
q
ueue` module to feed that thread with requests from other threads.
Applications using :class:`Queue
` objects for inter-thread communication and
coordination are easier to design, more readable, and more reliable.
:mod:`
Q
ueue` module to feed that thread with requests from other threads.
Applications using :class:`Queue
.Queue` objects for inter-thread communication
and
coordination are easier to design, more readable, and more reliable.
.. _tut-logging:
...
...
@@ -358,11 +358,11 @@ For example, calculating a 5% tax on a 70 cent phone charge gives different
results in decimal floating point and binary floating point. The difference
becomes significant if the results are rounded to the nearest cent::
>>> from decimal import *
>>> from decimal import *
>>> Decimal('0.70') * Decimal('1.05')
Decimal("0.7350")
>>> .70 * 1.05
0.73499999999999999
0.73499999999999999
The :class:`Decimal` result keeps a trailing zero, automatically inferring four
place significance from multiplicands with two place significance. Decimal
...
...
@@ -380,7 +380,7 @@ calculations and equality tests that are unsuitable for binary floating point::
>>> sum([Decimal('0.1')]*10) == Decimal('1.0')
True
>>> sum([0.1]*10) == 1.0
False
False
The :mod:`decimal` module provides arithmetic with as much precision as needed::
...
...
Doc/whatsnew/2.6.rst
Dosyayı görüntüle @
a6168f9e
...
...
@@ -1965,7 +1965,7 @@ details.
used to hold character data.
(Contributed by Achim Gaedke; :issue:`1137`.)
* The :mod:`
q
ueue` module now provides queue classes that retrieve entries
* The :mod:`
Q
ueue` module now provides queue classes that retrieve entries
in different orders. The :class:`PriorityQueue` class stores
queued items in a heap and retrieves them in priority order,
and :class:`LifoQueue` retrieves the most recently added entries first,
...
...
Lib/
lib-old/
Queue.py
→
Lib/Queue.py
Dosyayı görüntüle @
a6168f9e
File moved
Lib/idlelib/rpc.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -35,7 +35,7 @@ import SocketServer
import
struct
import
cPickle
as
pickle
import
threading
import
q
ueue
import
Q
ueue
import
traceback
import
copy_reg
import
types
...
...
@@ -117,8 +117,8 @@ class RPCServer(SocketServer.TCPServer):
#----------------- end class RPCServer --------------------
objecttable
=
{}
request_queue
=
q
ueue
.
Queue
(
0
)
response_queue
=
q
ueue
.
Queue
(
0
)
request_queue
=
Q
ueue
.
Queue
(
0
)
response_queue
=
Q
ueue
.
Queue
(
0
)
class
SocketIO
(
object
):
...
...
@@ -413,7 +413,7 @@ class SocketIO(object):
# send queued response if there is one available
try
:
qmsg
=
response_queue
.
get
(
0
)
except
q
ueue
.
Empty
:
except
Q
ueue
.
Empty
:
pass
else
:
seq
,
response
=
qmsg
...
...
Lib/idlelib/run.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -5,7 +5,7 @@ import socket
import
traceback
import
thread
import
threading
import
q
ueue
import
Q
ueue
import
CallTips
import
AutoComplete
...
...
@@ -85,7 +85,7 @@ def main(del_exitfunc=False):
continue
try
:
seq
,
request
=
rpc
.
request_queue
.
get
(
block
=
True
,
timeout
=
0.05
)
except
q
ueue
.
Empty
:
except
Q
ueue
.
Empty
:
continue
method
,
args
,
kwargs
=
request
ret
=
method
(
*
args
,
**
kwargs
)
...
...
Lib/test/test___all__.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -40,7 +40,7 @@ class AllTest(unittest.TestCase):
self
.
check_all
(
"configparser"
)
self
.
check_all
(
"Cookie"
)
self
.
check_all
(
"MimeWriter"
)
self
.
check_all
(
"
q
ueue"
)
self
.
check_all
(
"
Q
ueue"
)
self
.
check_all
(
"SimpleHTTPServer"
)
self
.
check_all
(
"SocketServer"
)
self
.
check_all
(
"StringIO"
)
...
...
Lib/test/test_dummy_thread.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -7,7 +7,7 @@ implementation as its sole argument.
"""
import
dummy_thread
as
_thread
import
time
import
q
ueue
import
Q
ueue
import
random
import
unittest
from
test
import
test_support
...
...
@@ -124,7 +124,7 @@ class ThreadTests(unittest.TestCase):
"""Use to test _thread.start_new_thread() passes args properly."""
queue
.
put
((
arg1
,
arg2
))
testing_queue
=
q
ueue
.
Queue
(
1
)
testing_queue
=
Q
ueue
.
Queue
(
1
)
_thread
.
start_new_thread
(
arg_tester
,
(
testing_queue
,
True
,
True
))
result
=
testing_queue
.
get
()
self
.
failUnless
(
result
[
0
]
and
result
[
1
],
...
...
@@ -148,7 +148,7 @@ class ThreadTests(unittest.TestCase):
queue
.
put
(
_thread
.
get_ident
())
thread_count
=
5
testing_queue
=
q
ueue
.
Queue
(
thread_count
)
testing_queue
=
Q
ueue
.
Queue
(
thread_count
)
if
test_support
.
verbose
:
print
print
"*** Testing multiple thread creation "
\
...
...
Lib/test/test_py3kwarn.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -215,9 +215,7 @@ class TestStdlibRemovals(unittest.TestCase):
class
TestStdlibRenames
(
unittest
.
TestCase
):
renames
=
{
'Queue'
:
'queue'
,
'ConfigParser'
:
'configparser'
,
}
renames
=
{
'ConfigParser'
:
'configparser'
}
def
check_rename
(
self
,
module_name
,
new_module_name
):
"""Make sure that:
...
...
Lib/test/test_queue.py
Dosyayı görüntüle @
a6168f9e
# Some simple queue module tests, plus some failure conditions
# to ensure the Queue locks remain stable.
import
q
ueue
import
Q
ueue
import
sys
import
threading
import
time
...
...
@@ -107,12 +107,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
try
:
q
.
put
(
"full"
,
block
=
0
)
self
.
fail
(
"Didn't appear to block with a full queue"
)
except
q
ueue
.
Full
:
except
Q
ueue
.
Full
:
pass
try
:
q
.
put
(
"full"
,
timeout
=
0.01
)
self
.
fail
(
"Didn't appear to time-out with a full queue"
)
except
q
ueue
.
Full
:
except
Q
ueue
.
Full
:
pass
# Test a blocking put
self
.
do_blocking_test
(
q
.
put
,
(
"full"
,),
q
.
get
,
())
...
...
@@ -124,12 +124,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
try
:
q
.
get
(
block
=
0
)
self
.
fail
(
"Didn't appear to block with an empty queue"
)
except
q
ueue
.
Empty
:
except
Q
ueue
.
Empty
:
pass
try
:
q
.
get
(
timeout
=
0.01
)
self
.
fail
(
"Didn't appear to time-out with an empty queue"
)
except
q
ueue
.
Empty
:
except
Q
ueue
.
Empty
:
pass
# Test a blocking get
self
.
do_blocking_test
(
q
.
get
,
(),
q
.
put
,
(
'empty'
,))
...
...
@@ -191,13 +191,13 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
class
QueueTest
(
BaseQueueTest
):
type2test
=
q
ueue
.
Queue
type2test
=
Q
ueue
.
Queue
class
LifoQueueTest
(
BaseQueueTest
):
type2test
=
q
ueue
.
LifoQueue
type2test
=
Q
ueue
.
LifoQueue
class
PriorityQueueTest
(
BaseQueueTest
):
type2test
=
q
ueue
.
PriorityQueue
type2test
=
Q
ueue
.
PriorityQueue
...
...
@@ -205,21 +205,21 @@ class PriorityQueueTest(BaseQueueTest):
class
FailingQueueException
(
Exception
):
pass
class
FailingQueue
(
q
ueue
.
Queue
):
class
FailingQueue
(
Q
ueue
.
Queue
):
def
__init__
(
self
,
*
args
):
self
.
fail_next_put
=
False
self
.
fail_next_get
=
False
q
ueue
.
Queue
.
__init__
(
self
,
*
args
)
Q
ueue
.
Queue
.
__init__
(
self
,
*
args
)
def
_put
(
self
,
item
):
if
self
.
fail_next_put
:
self
.
fail_next_put
=
False
raise
FailingQueueException
,
"You Lose"
return
q
ueue
.
Queue
.
_put
(
self
,
item
)
return
Q
ueue
.
Queue
.
_put
(
self
,
item
)
def
_get
(
self
):
if
self
.
fail_next_get
:
self
.
fail_next_get
=
False
raise
FailingQueueException
,
"You Lose"
return
q
ueue
.
Queue
.
_get
(
self
)
return
Q
ueue
.
Queue
.
_get
(
self
)
class
FailingQueueTest
(
unittest
.
TestCase
,
BlockingTestMixin
):
...
...
Lib/test/test_socket.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -9,7 +9,7 @@ import select
import
thread
,
threading
import
time
import
traceback
import
q
ueue
import
Q
ueue
import
sys
import
os
import
array
...
...
@@ -96,7 +96,7 @@ class ThreadableTest:
self
.
server_ready
=
threading
.
Event
()
self
.
client_ready
=
threading
.
Event
()
self
.
done
=
threading
.
Event
()
self
.
queue
=
q
ueue
.
Queue
(
1
)
self
.
queue
=
Q
ueue
.
Queue
(
1
)
# Do some munging to start the client test.
methodname
=
self
.
id
()
...
...
Misc/cheatsheet
Dosyayı görüntüle @
a6168f9e
...
...
@@ -1044,7 +1044,7 @@ str(object) printablerepresentation of an object. Class overridable
super(type) Create an unbound super object. Used to call cooperative
superclass methods.
sum(sequence, Add the values in the sequence and return the sum.
[start])
[start])
tuple(sequence) Creates a tuple with same elements as sequence. If already
a tuple, return itself (not a copy).
Returns a type object [see module types] representing
...
...
@@ -1952,7 +1952,7 @@ pty Pseudo terminal utilities.
pyexpat Interface to the Expay XML parser.
py_compile Routine to "compile" a .py file to a .pyc file.
pyclbr Parse a Python file and retrieve classes and methods.
q
ueue A multi-producer, multi-consumer queue.
Q
ueue A multi-producer, multi-consumer queue.
quopri Conversions to/from quoted-printable transport encoding.
rand Don't use unless you want compatibility with C's rand().
random Random variable generators
...
...
Tools/webchecker/wsgui.py
Dosyayı görüntüle @
a6168f9e
...
...
@@ -10,7 +10,7 @@ from Tkinter import *
import
websucker
import
os
import
threading
import
q
ueue
import
Q
ueue
import
time
VERBOSE
=
2
...
...
@@ -139,7 +139,7 @@ class App:
def
go
(
self
,
event
=
None
):
if
not
self
.
msgq
:
self
.
msgq
=
q
ueue
.
Queue
(
0
)
self
.
msgq
=
Q
ueue
.
Queue
(
0
)
self
.
check_msgq
()
if
not
self
.
sucker
:
self
.
sucker
=
SuckerThread
(
self
.
msgq
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment