פורסם 2011 ביולי 914 שנים שלום לכולם יש את המחלקה הבאהimport java.sql.ResultSet;import java.sql.SQLException;import java.util.Hashtable;import java.util.Map;public class card { public int cardid; public static int numberOfCards=0; public String input; public String output; public String blinds; static Map cards=new Hashtable(); sql db; card(int cardid) { numberOfCards++; this.cardid=cardid; System.out.println("card"+cardid+"created"); db=new sql(); ResultSet rs=this.db.selectQuery("select * from status where cardid='"+cardid+"'"); try { rs.next(); this.input=rs.getString("input"); this.output=rs.getString("output"); this.blinds=rs.getString("blinds"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (cards.get(cardid)!=null) { cards.put(cardid, this); } } public void updateCard() { ResultSet rs=this.db.selectQuery("select * from status where cardid='"+this.cardid+"'"); try { rs.next(); this.input=rs.getString("input"); this.output=rs.getString("output"); this.blinds=rs.getString("blinds"); System.out.print(this); } catch (SQLException e) { // TODO Auto-gene`````1rated catch block e.printStackTrace(); } } public String toString() { String t="-------------------------\n"; t="card: "+this.cardid+"\n"; t=t+"input= "+this.input+"\n"; t=t+"output= "+this.output+"\n"; t=t+"--------------------------\n"; return t; } public static void updateCards() { for(int i=0;i<numberOfCards;i++) { card temp=(card)cards.get(i+201); temp.updateCard(); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } updateCards(); }}כפי שניתן לראות הפונקציה האחרונה זו פונקציה סטטית שבסוף קוראת לעצמה וככה היא תמיד פועלת כמובן אני רוצה לקרוא להפעיל אותה ב- thread ככה שהיא לא תפריע לשאר התוכנית להמשיך לרוץמישהו יכול לעזור לי איך אני מפעיל את הפונקציה הנל בתור threadתודה
פורסם 2011 ביולי 914 שנים אתה צריך ליצור מחלקה שמממשת את הממשק Runnable, ואז ליצור אובייקט Thread שמשתמש בה.http://www.go4expert.com/forums/showthread.php?t=4202
פורסם 2011 ביולי 914 שנים מחבר תודה על התגובהאבל בדוגמא שהבאת לי אני צריך ליצור מופע של המחלקה ואז פונקציה run תופעל בטרדמה שאני מנסה לעשות זה להפעיל פונקציה סטטית כטרד ....בלי ליצור מופע של המחלקה
פורסם 2011 ביולי 914 שנים אתה חייב ליצור מחלקה כלשהי שמממשת את Runnable. זו לא חייבת להיות אותה המחלקה שבה הגדרת את המתודה הסטטית.הדרך הכי פשוטה לעשות את זה היא באמצעות מחלקה מקומית אנונימית. ראה דוגמה כאן:http://littletutorials.com/2008/03/09/anonymous-inner-classesשים לב לאופן שבו יצרו את האוביקט r.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.