私のpythonスクリプトでは、私はcore dumped
を持っています。同じ関数が同時に2回呼び出されるからです。機能の実行をダブルを回避するための方法python - 同じ関数の複数の実行インスタンスを避ける方法
Here is the time 1474816913.68
Here is the time 1474816913.68
Erreur de segmentation (core dumped)
:
機能は、GTKウィンドウでVTE端子の読み取り
def term(self, dPluzz, donnees=None):
text = str(self.v.get_text(lambda *a: True).rstrip())
[...]
print "Here is the time " + str(time.time())
def terminal(self):
self.v = vte.Terminal()
self.v.set_emulation('xterm')
self.v.connect ("child-exited", lambda term: self.verif(self, dPluzz))
self.v.connect("contents-changed", self.term)
結果ですか?
:
は
term
機能の開始時に次の2行を追加します。しかし、PythonはGlobal Interpreter Lockを持っているので、それでも実際には "二重実行"ではありません。通常は、クリティカルセクションにロックを追加して、セクションに入る前にスレッドをキューに入れます。 https://docs.python.org/2/library/threading.html#lock-objects – Maiありがとうございます。ダブルプリントはどうですか?奇妙な?これは初めてのことです。このスクリプトはUbuntuでうまく動作しますが、このバグはOpenSuseに表示されます... – Guillaume
[mcve]はここで歓迎されるでしょう。 –