本文整理汇总了Python中threading.get_ident函数的典型用法代码示例。如果您正苦于以下问题:Python get_ident函数的具体用法?Python get_ident怎么用?Python get_ident使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_ident函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __setattr__
def __setattr__(self, name, value):
if name in ('_lock', '_root', '_proxies'):
super(ThreadProxy, self).__setattr__(name, value)
elif threading.get_ident() in self._proxies:
setattr(self.proxiesp[threading.get_ident()], name, value)
else:
raise AttributeError("no proxy for current thread")
开发者ID:jeinstos,项目名称:pypsi,代码行数:7,代码来源:server.py
示例2: execute
def execute(self, raw_req):
try:
self._lock.acquire()
print('=====================>>>>>enter', threading.get_ident())
return self._execute(raw_req)
finally:
self._lock.release()
print('<<<<<<=================leave', threading.get_ident())
开发者ID:touilleMan,项目名称:mongaule,代码行数:8,代码来源:db.py
示例3: waitResult
def waitResult(self):
""" Wait for the execution of the last enqueued job to be done, and return the result or raise an exception. """
self.thread.execute_queue.join()
try:
e = self.thread.exception_queue[threading.get_ident()].get_nowait()
except queue.Empty:
return self.thread.result_queue[threading.get_ident()].get_nowait()
else:
raise e
开发者ID:desbma,项目名称:web_cache,代码行数:9,代码来源:__init__.py
示例4: trywrapper
def trywrapper(self, f, msginfo):
msginfo["_function_id"] = f.__name__
thread_details[threading.get_ident()] = msginfo.copy()
try:
f(msg=msginfo)
except Exception as e:
traceback.print_exc()
if msginfo.get("msg"):
send("Error executing {}: {}".format(f, e))
del thread_details[threading.get_ident()]
开发者ID:MrW24,项目名称:JiyuuBot,代码行数:10,代码来源:__init__.py
示例5: _check_thread
def _check_thread(self):
try:
if self.__thread_ident == threading.get_ident():
return
except AttributeError:
pass
else:
raise ProgrammingError(
"SQLite objects created in a thread can only be used in that "
"same thread. The object was created in thread id %d and this "
"is thread id %d" % (self.__thread_ident, threading.get_ident()))
开发者ID:timm,项目名称:timmnix,代码行数:11,代码来源:_sqlite3.py
示例6: db_conn
def db_conn(self):
"""
Refers to a database connection via thread identifier
:return: database connection handle
"""
# Does a connection exist for this thread
if threading.get_ident() not in self._db.keys():
self.connect()
return self._db[threading.get_ident()]
开发者ID:djamp42,项目名称:librenms,代码行数:11,代码来源:__init__.py
示例7: __apply_gradients
def __apply_gradients(self):
logger.info('{}: training - apply gradients begin'.format(
threading.get_ident()))
gradients_begin = time.time()
# zero gradient accumulators
ModelBuilder.zero_model_gradient_accumulators()
if args.debug:
ModelBuilder.model_gradient_accumulators_debug_info()
# calculate move rate gradients
move_rate_values = []
ucb_move_rate_values = []
ugtsa_move_rate_values = []
for move_rate, (
move_rate_value,
oracle_ucb_move_rate_value,
oracle_ugtsa_move_rate_value) in sorted(
self.shared_state.move_rate_dict.items()):
move_rate_values += [move_rate_value]
ucb_move_rate_values += [oracle_ucb_move_rate_value]
ugtsa_move_rate_values += [oracle_ugtsa_move_rate_value]
loss, move_rates_gradient = ModelBuilder.cost_function(
move_rate_values, ucb_move_rate_values, ugtsa_move_rate_values)
logger.info('loss {}'.format(loss))
if args.debug:
print(move_rates_gradient)
# accumulate gradients
self.ugtsa_algorithm.computation_graph.model_gradients(
first_node=self.shared_state.first_node,
y_grads={
move_rate: gradient
for (move_rate, _), gradient in zip(
sorted(self.shared_state.move_rate_dict.items()),
move_rates_gradient)})
# apply gradients
ModelBuilder.apply_gradients()
if args.debug:
ModelBuilder.model_gradient_accumulators_debug_info()
gradients_end = time.time()
logger.info('gradients took {}'.format(
gradients_end - gradients_begin))
self.shared_state.first_node = len(
self.ugtsa_algorithm.computation_graph.computation_graph.nodes)
self.shared_state.move_rate_dict = {}
logger.info('{}: training - apply gradients end'.format(
threading.get_ident()))
开发者ID:thomasste,项目名称:ugtsa,代码行数:53,代码来源:solution_002.py
示例8: connect
def connect(self):
logger.info('Attempting to connect to redis with ident={}, thread={}'.format(
self.ident, threading.get_ident()))
if self.redis_url is None:
raise RedisConnectionError('self.redis_url not set')
self.redis = redis.StrictRedis.from_url(self.redis_url,
decode_responses=True)
self.register_scripts()
logger.info('Redis connection successful with ident={}, thread={}'.format(
self.ident, threading.get_ident()))
开发者ID:ArchiveTeam,项目名称:ArchiveBot,代码行数:12,代码来源:control.py
示例9: trywrapper
def trywrapper(self, f, msginfo):
msginfo["_function_id"] = f.__name__
thread_details[threading.get_ident()] = msginfo.copy()
try:
if len(inspect.signature(f).parameters) > 0:
f(msginfo)
else:
f()
except Exception as e:
traceback.print_exc()
if msginfo.get("msg"):
send("Error executing {}: {}".format(command, e))
del thread_details[threading.get_ident()]
开发者ID:Flat,项目名称:JiyuuBot,代码行数:13,代码来源:__init__.py
示例10: run_fork
def run_fork():
lock = threading.Lock()
child_t = threading.Thread(target=child_thread, args=(lock,))
child_t.start()
print('main thread identity', threading.get_ident())
pid = os.fork()
if pid == -1:
raise RuntimeError('fork failed.')
if pid == 0:
print('main thread identity', threading.get_ident())
child_worker(lock)
else:
time.sleep(120)
开发者ID:justdoit0823,项目名称:notes,代码行数:14,代码来源:lock-in-process.py
示例11: func_assig_thread
def func_assig_thread(self, O, all_threads):
if threading.get_ident() in all_threads:
th = all_threads[threading.get_ident()]
else:
all_threads[threading.get_ident()] = all_threads['count']
th = all_threads['count']
all_threads['count'] += 1
x = skimming_single_origin(O, self.graph, self.results, self.aux_res, th)
self.cumulative += 1
if x != O:
self.report.append(x)
if pyqt:
self.skimming.emit(['zones finalized', self.cumulative])
txt = str(self.cumulative) + ' / ' + str(self.matrix.zones)
self.skimming.emit(['text skimming', txt])
开发者ID:AequilibraE,项目名称:AequilibraE,代码行数:15,代码来源:network_skimming.py
示例12: pr
def pr(self, name, a=None, kw=None):
f = sys._getframe(2)
if f.f_code.co_filename.endswith('ZODB/utils.py'):
f = sys._getframe(3)
f = '%s:%s' % (f.f_code.co_filename, f.f_lineno)
print(id(self), self._lock, threading.get_ident(), f, name,
a if a else '', kw if kw else '')
开发者ID:vpelletier,项目名称:ZODB,代码行数:7,代码来源:utils.py
示例13: async_start
async def async_start(self) -> None:
"""Finalize startup from inside the event loop.
This method is a coroutine.
"""
_LOGGER.info("Starting Home Assistant")
self.state = CoreState.starting
setattr(self.loop, '_thread_ident', threading.get_ident())
self.bus.async_fire(EVENT_HOMEASSISTANT_START)
try:
# Only block for EVENT_HOMEASSISTANT_START listener
self.async_stop_track_tasks()
with timeout(TIMEOUT_EVENT_START):
await self.async_block_till_done()
except asyncio.TimeoutError:
_LOGGER.warning(
'Something is blocking Home Assistant from wrapping up the '
'start up phase. We\'re going to continue anyway. Please '
'report the following info at http://bit.ly/2ogP58T : %s',
', '.join(self.config.components))
# Allow automations to set up the start triggers before changing state
await asyncio.sleep(0)
if self.state != CoreState.starting:
_LOGGER.warning(
'Home Assistant startup has been interrupted. '
'Its state may be inconsistent.')
return
self.state = CoreState.running
_async_create_timer(self)
开发者ID:arsaboo,项目名称:home-assistant,代码行数:34,代码来源:core.py
示例14: _test_factory
def _test_factory(fifo, start):
start.wait()
factory = warehouse.http.ThreadLocalSessionFactory()
# the actual session instance is stuck into the queue here as to
# maintain a reference so it's not gc'd (which can result in id
# reuse)
fifo.put((threading.get_ident(), factory(_REQUEST)))
开发者ID:craig5,项目名称:warehouse,代码行数:7,代码来源:test_http.py
示例15: __enter__
def __enter__(self):
id = threading.get_ident()
if id not in self.calls:
self.calls[id] = 0
self.prec[id] = float('-inf')
self.calls[id] += 1
return self
开发者ID:wxgeo,项目名称:geophar,代码行数:7,代码来源:custom_objects.py
示例16: async_test_home_assistant
def async_test_home_assistant(loop):
"""Return a Home Assistant object pointing at test config dir."""
loop._thread_ident = threading.get_ident()
hass = ha.HomeAssistant(loop)
hass.async_track_tasks()
hass.config.location_name = 'test home'
hass.config.config_dir = get_test_config_dir()
hass.config.latitude = 32.87336
hass.config.longitude = -117.22743
hass.config.elevation = 0
hass.config.time_zone = date_util.get_time_zone('US/Pacific')
hass.config.units = METRIC_SYSTEM
hass.config.skip_pip = True
if 'custom_components.test' not in loader.AVAILABLE_COMPONENTS:
yield from loop.run_in_executor(None, loader.prepare, hass)
hass.state = ha.CoreState.running
# Mock async_start
orig_start = hass.async_start
@asyncio.coroutine
def mock_async_start():
"""Start the mocking."""
with patch('homeassistant.core._async_create_timer'):
yield from orig_start()
hass.async_start = mock_async_start
return hass
开发者ID:arjenfvellinga,项目名称:home-assistant,代码行数:33,代码来源:common.py
示例17: run_loop
def run_loop():
"""Run event loop."""
# pylint: disable=protected-access
loop._thread_ident = threading.get_ident()
loop.run_forever()
loop.close()
stop_event.set()
开发者ID:arjenfvellinga,项目名称:home-assistant,代码行数:7,代码来源:common.py
示例18: current_frames_with_threads
def current_frames_with_threads(self):
import threading
import traceback
# Spawn a thread that blocks at a known place. Then the main
# thread does sys._current_frames(), and verifies that the frames
# returned make sense.
entered_g = threading.Event()
leave_g = threading.Event()
thread_info = [] # the thread's id
def f123():
g456()
def g456():
thread_info.append(threading.get_ident())
entered_g.set()
leave_g.wait()
t = threading.Thread(target=f123)
t.start()
entered_g.wait()
# At this point, t has finished its entered_g.set(), although it's
# impossible to guess whether it's still on that line or has moved on
# to its leave_g.wait().
self.assertEqual(len(thread_info), 1)
thread_id = thread_info[0]
d = sys._current_frames()
main_id = threading.get_ident()
self.assertIn(main_id, d)
self.assertIn(thread_id, d)
# Verify that the captured main-thread frame is _this_ frame.
frame = d.pop(main_id)
self.assertTrue(frame is sys._getframe())
# Verify that the captured thread frame is blocked in g456, called
# from f123. This is a litte tricky, since various bits of
# threading.py are also in the thread's call stack.
frame = d.pop(thread_id)
stack = traceback.extract_stack(frame)
for i, (filename, lineno, funcname, sourceline) in enumerate(stack):
if funcname == "f123":
break
else:
self.fail("didn't find f123() on thread's call stack")
self.assertEqual(sourceline, "g456()")
# And the next record must be for g456().
filename, lineno, funcname, sourceline = stack[i+1]
self.assertEqual(funcname, "g456")
self.assertIn(sourceline, ["leave_g.wait()", "entered_g.set()"])
# Reap the spawned thread.
leave_g.set()
t.join()
开发者ID:MaximVanyushkin,项目名称:Sharp.RemoteQueryable,代码行数:60,代码来源:test_sys.py
示例19: process_request
def process_request(self, request):
# Todo: remove when IE9 support will expire.
request.ie_ajax_iframe = request.method == 'POST' and \
'HTTP_X_REQUESTED_WITH' not in request.META and \
'HTTP_X_REQUESTED_WITH' in request.POST
if request.ie_ajax_iframe:
# Fix IE9 not being able to post $.ajaxForm() with proper HTTP headers due to iframe emulation.
request.META['HTTP_X_REQUESTED_WITH'] = request.POST['HTTP_X_REQUESTED_WITH']
# Get local timezone from browser and activate it.
if getattr(settings, 'USE_JS_TIMEZONE', False):
tz_name = self.__class__.get_request_timezone(request)
if tz_name is not None:
timezone.activate(pytz.timezone(tz_name))
self.__class__._threadmap[threading.get_ident()] = request
# Optional server-side injected JSON.
request.client_data = {}
"""
request.client_routes = [
'logout',
'users_list',
]
"""
request.client_routes = []
vm_list = to_vm_list(request.client_data)
if has_vm_list(request.session):
vm_session = to_vm_list(request.session)
vm_list.extend(vm_session)
开发者ID:Dmitri-Sintsov,项目名称:django-jinja-knockout,代码行数:31,代码来源:middleware.py
示例20: do_work
def do_work(num):
#Pretend to do work
#time.sleep(0.1)
with lock:
print(num)
print("Current thread:", str(threading.current_thread()).split(",")[0].split("-")[1]) #Prints just the thread number, not identifier. The order the threads were created in is the number starting at 1
print("Thread ident:", threading.get_ident())
开发者ID:mitchtz,项目名称:Daily_Programmer,代码行数:7,代码来源:thread_test.py
注:本文中的threading.get_ident函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论