前提・実現したいこと
Pythonista3でiOS用のマルチ専用ゲームを作っています。
その際に常にサーバーに接続して情報をやり取りする必要があるので、スレッドかプロセスをもう一つ作り、そこで通信をしメインプロセスでゲームの処理をしようと考えています。
しかし、Pythonista3で
thread
multiprocessing
concurrent.future
などのスレッドやプロセスを作る方法を取っても出来ませんでした。
調べてみるとPythonista(もしくはPython?)のiOS用上でサブのスレッドやプロセスは作れないそうです。
ただ全く出来ないわけはないと思うので(python,iOSを使って通信をしつつ快適に動作しているアプリもあるため)その方法があったら教えていただきたいです。
swiftなどは触ったことはほぼないですがXcodeと連携して処理を実行できるならそれも試してみたいと思います。
Pythonistaのビルドに使用したのはPythonistaの公式で出されている
https://forum.omz-software.com/topic/5310/when-will-omz-release-an-xcode-template-for-python3
このテンプレートを使用しました。
情報が少ないので行き詰まっています。
よろしくお願いします。
該当のソースコード
Python3
1import threading 2import time 3import multiprocessing 4from concurrent.futures import * 5import queue 6 7def th1(): 8 for i in range(5): 9 time.sleep(1) 10 print(i) 11 12def th2(): 13 for i in range(5): 14 time.sleep(1) 15 print(i) 16 17 18# 1 19t1 = threading.Thread(target=th1) 20t2 = threading.Thread(target=th2) 21print('start') 22t1.start() 23t2.start() 24 25# 2 26''' 27q = queue.Queue() 28t1 = threading.Thread(target=th1, args=(q, )) 29t2 = threading.Thread(target=th2, args=(q, )) 30print('start') 31t1.start() 32t2.start()''' 33 34# 3 35''' 36t1 = multiprocessing.Process(target=th1) 37t2 = multiprocessing.Process(target=th2) 38print('start') 39t1.start() 40t2.start()''' 41 42# 4 43''' 44executer = ProcessPoolExecutor(max_workers=3) 45print('start') 46executer.submit(th1) 47executer.submit(th2)'''
試したこと
上記の方法とプラスα何かしたと思います。
出力結果はどれも
start 0 1 2 3 4 0 1 2 3 4
だったと思います。
補足情報(FW/ツールのバージョンなど)
環境としては
iPhone XS iOS 13.1
Xcode 最新
です
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。