פייתון/פייתון גרסה 2/תכנות מקבילי

Wikibooks-logo.svg  חלק זה של הספר הינו קצרמר. אתם מוזמנים לתרום לוויקיספר ולערוך אותו.


הרצת פקודה ברקע התוכניתעריכה

 

שקלו לדלג על נושא זה

סעיף זה עוסק ב־os.system. לתכנות מקבילי בגוף הקוד המשיכו לסעיפים הבאים.



כידוע, תוכנית מחשב מכילה פקודות לביצוע סדרתי, והפקודה הבאה לא תבוצע לפני תום הפקודה הנוכחית. אך כאשר מריצים תוכנות חיצוניות (באמצעות os.system) המצב שונה, מכיוון שאפשר לבקש ממערכת ההפעלה לטפל במקביליות. בשורת הפקודה דבר זה נעשה על ידי הפקודה start בחלונות והאופרטור & ביוניקס/לינוקס.

אם לדוגמה ברצונכם להפעיל את דפדפן פיירפוקס, תוך המשכת התוכנית שלכם, ניתן לעשות זאת באמצעות:

#!/usr/bin/env python
import sys
import os

app='firefox'

if sys.platform.startswith('win'):
	command='start ' + app
elif os.name=='posix ':
	command=app + ' &'

os.system(command)

# rest of your code...

הרצת פונקציות מקביליותעריכה

import thread

def loop_and_print(msg):
    for i in range(1,10):
        print msg

thread.start_new_thread(loop_and_print, ('hello',))
thread.start_new_thread(loop_and_print, ('hello',))


import thread

def loop_and_print(msg, num):
    for i in range(1,num):
        print msg

thread.start_new_thread(loop_and_print, ('hello', 1000))

נעילותעריכה

import thread
import threading

l = threading.Lock()

def loop_and_print(msg):	
	for i in range(1,10000):
	l.acquire()
	print msg
	l.release()

thread.start_new_thread(loop_and_print, ('hello'))
thread.start_new_thread(loop_and_print, ('world'))

קישורים חיצונייםעריכה


- תכנות מקבילי -