は、フォームの機能を持っている:カスタム別のスレッドから呼び出されたときにユーザーの入力プロンプトが(コンストラクタをオブジェクトに)表示されません/散発的に表示されます
def setup_my_object():
my_object = My_Object()
my_object_daemon = Pyro4.core.Daemon(port=55666)
Pyro4.Daemon.serveSimple({my_object: "my.object"},ns = False,daemon = my_object_daemon)
Pyro4ライブラリをネットワーク経由でオブジェクトにアクセスすることができます。メイン処理は、いくつかの異なるオブジェクトが作成されるため、別のスレッドを使用して作成されます。
def main():
threaded_object = threading.Thread(target = setup_my_object)
threaded_object.start()
オブジェクトがフォームである(実際にはコンストラクタは、より複雑です)。
class My_Object(object):
def __init__(self):
name_option = input('\nDo you want to enter a name? [y/n]:\n')
if (name_option == 'y')
self.m_name = add_name()
def add_name(self):
name = input('\nPlease enter the name: \n')
return(name)
main()は、Pythonコンソールから起動されたLinuxサーバーで動作します。問題は、私がmain()を起動したときに、コンソールが私に「名前を入力したいですか?私はちょっと待ってください - 30秒待ってください - 何もありません。 2回入力する - 30秒間何も待たない。私が5回(そして間違って6回目)のような入力をクリックするときだけ、「あなたは名前を入力しますか?」と表示されます。 何が起こっているのか、これを避けるにはどうすればいいですか。「名前を入力しますか?」というインスタントプリントアウトを取得しますか?
追加情報: Windowsマシンで起動するとこの問題は発生しません。この問題はLinuxマシンでのみ発生します。