- Jogl (Java Open Graphics Library)เป็นชุดคำสั่งสำหรับพัฒนางาน 2 มิติ และ 3 มิติที่ต้องการความเร็วสูงและด้วยความสามารถที่ไม่ยึดติดกับ platform ของ java และ opengl จึงทำให้สามารถต่อยอดสู่เทคโนโลยีต่างๆได้เร็วขึ้น
- LWJGL (Lightweight Java Game Library)เป็นชุดคำสั่งสำหรับพัฒนาเกมด้วยจาวาโดยเฉพาะเนื่องจากรวมเอา ชุดคำสั่งสำหรับการพัฒนาเกมมาไว้ในตัวเช่น display , input , audio , render จึงทำให้เหมาะกับการพัฒนาเกมกล่าวได้ว่า lwjgl ก็คือชื่อทีนำเอา OpenGL , OpenAL และ input library มาเก็บไว้อย่างเป็นหมวดหมู่
บางครั้งคนเราก็ต้องการบอกเล่าอะไรบางอย่าง จาก คนหนึ่งถึงคนหนึ่ง หรือ จากตัวฉันในอดีต ถึง ตัวฉันในอีกวันข้างหน้า ถึงแม้จะไม่มีใครพบเห็น หรือ พบเจอ แต่อย่างน้อยฉันก็สุขใจที่ได้เก็บเรื่องราวนี้ไว้
วันอาทิตย์ที่ 22 สิงหาคม พ.ศ. 2553
ข้อแตกต่างระหว่าง JOGL และ LWJGL
หากจะกล่าวถึงข้อแตกต่างระหว่าง 2 Library นี้มันคงมีไม่ค่อยมากมายครับเพราะทั้ง 2 ต่างใช้ opengl เป็น api ทั้งนั้นลักษณะการเขียนจะคล้ายกัน
วันจันทร์ที่ 16 สิงหาคม พ.ศ. 2553
เรื่องของ Thread
Thread อ่านว่า เธรด หลายๆคนคงเคยได้ยินมันแต่ไม่รู้ว่ามันใช้ยังไงบทความนี้จะมาเล่าถึงเธรดกันก่อนว่ามันเป็นยังไงมันใช้ทำอะไร
เราสามารถบอกได้ว่าเธรดคือหน่วยประมวลผลย่อยที่แยกออกมาจากโปรเซสอีกที(Light Wieght Process) ประโยชน์หลักๆของเธรดก็คือ เราสามารถแบ่งหน้าที่การทำงานได้หลายๆส่วน ขอยกตัวอย่างเป็นวอตำรวจ นะครับหลายๆคนคงจะรู้จัก สังเกตหน้าที่การทำงานระหว่าง วอ และ โทรศัพ นะครับทั้งๆที่เป็นอุปกรณ์ที่ใช้ในการสื่อสารเหมือนกันแต่ทำไมถูกสร้างออกมาคนละอย่างกันเลย การรับและส่งข้อมูลของวอก็คือรอจนกว่าอีกฝั่งจะพูดเ็ส็จเราถึงจะส่งข้อมูลกลับได้ ส่วนโทรศัพพูดแทรกขึ้นมายังได้เลย ตรงส่วนนี้เองครับที่เป็นประโยชน์ของเธรด สรุปง่ายๆคือเธรดเป็นส่วนที่สร้างขึ้นมาใหม่เพื่อตอบสนองไปยังโปรแกรมหรือยูเซอร์ได้เร็วขึ้น โดยทำให้เราไม่ต้องเสียเวลารอจนกว่าโปรแกรมจะทำงานเสร็จ และ ยังช่วยให้สามารถแชร์ทรัพยาการณ์ระหว่าง Process มายัง Thread ได้อีกด้วย จริงๆแล้วประโยชน์ของเธรดยังมีมากกว่านั้นนัครับ
เอาล่ะเรามาลองเขียนเธรดกันดีกว่า
class LWProcess extends Thread{
public void run(){
int i = 0;
do{
System.out.println(i);
i = i+1;
}while(i<1000);
}
}
ปกติเวลาเราเขียน thread สามารถทำได้หลายวิธีแต่ในบทความนี้จะพูดถึงการสืบทอด จากcodeตัวอย่าง นี้คือการสืบทอดคลาส Thread ครับ โดยเธรดจะเข้ามาทำงานที่ constructor ก่อนที่จะไปทำงานที่ run ในการเขียน thread แต่ละครั้งจะต้องทำการ override method ที่ชื่อ run ลงไปด้วยครับ
LWProcess aThread = new LWProcess();
aThread .start();
จากคำสั่งข้างต้นคือการสั่งให้ Thread ทำงาน
เราสามารถบอกได้ว่าเธรดคือหน่วยประมวลผลย่อยที่แยกออกมาจากโปรเซสอีกที(Light Wieght Process) ประโยชน์หลักๆของเธรดก็คือ เราสามารถแบ่งหน้าที่การทำงานได้หลายๆส่วน ขอยกตัวอย่างเป็นวอตำรวจ นะครับหลายๆคนคงจะรู้จัก สังเกตหน้าที่การทำงานระหว่าง วอ และ โทรศัพ นะครับทั้งๆที่เป็นอุปกรณ์ที่ใช้ในการสื่อสารเหมือนกันแต่ทำไมถูกสร้างออกมาคนละอย่างกันเลย การรับและส่งข้อมูลของวอก็คือรอจนกว่าอีกฝั่งจะพูดเ็ส็จเราถึงจะส่งข้อมูลกลับได้ ส่วนโทรศัพพูดแทรกขึ้นมายังได้เลย ตรงส่วนนี้เองครับที่เป็นประโยชน์ของเธรด สรุปง่ายๆคือเธรดเป็นส่วนที่สร้างขึ้นมาใหม่เพื่อตอบสนองไปยังโปรแกรมหรือยูเซอร์ได้เร็วขึ้น โดยทำให้เราไม่ต้องเสียเวลารอจนกว่าโปรแกรมจะทำงานเสร็จ และ ยังช่วยให้สามารถแชร์ทรัพยาการณ์ระหว่าง Process มายัง Thread ได้อีกด้วย จริงๆแล้วประโยชน์ของเธรดยังมีมากกว่านั้นนัครับ
เอาล่ะเรามาลองเขียนเธรดกันดีกว่า
class LWProcess extends Thread{
public void run(){
int i = 0;
do{
System.out.println(i);
i = i+1;
}while(i<1000);
}
}
ปกติเวลาเราเขียน thread สามารถทำได้หลายวิธีแต่ในบทความนี้จะพูดถึงการสืบทอด จากcodeตัวอย่าง นี้คือการสืบทอดคลาส Thread ครับ โดยเธรดจะเข้ามาทำงานที่ constructor ก่อนที่จะไปทำงานที่ run ในการเขียน thread แต่ละครั้งจะต้องทำการ override method ที่ชื่อ run ลงไปด้วยครับ
LWProcess aThread = new LWProcess();
aThread .start();
จากคำสั่งข้างต้นคือการสั่งให้ Thread ทำงาน
วันจันทร์ที่ 9 สิงหาคม พ.ศ. 2553
ข้อสอบ VB ก๊อปไปวางทับอันเก่าเด้อ
Public Class Form1
Private Sub code_button1(ByVal num As Integer)
Button1.Text = "ผลรวมของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
ans = ans + i
Next
Label3.Text = ans.ToString()
End Sub
Private Sub code_button2(ByVal num As Integer)
Button2.Text = "ผลรวมเฉพาะเลขคี่ของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 2) = 1 Then
ans = ans + i
End If
Next
Label4.Text = ans.ToString()
End Sub
Private Sub code_button3(ByVal num As Integer)
Button3.Text = "ผลรวมเฉพาะเลขคู่ของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 2) = 0 Then
ans = ans + i
End If
Next
Label5.Text = ans.ToString()
End Sub
Private Sub code_button4(ByVal num As Integer)
Button4.Text = "!" + num.ToString() + " มีค่าเท่ากับ"
Dim ans As Integer = factorial(num)
Label6.Text = ans.ToString()
End Sub
Private Sub code_button5(ByVal num As Integer)
Button5.Text = "หาผลรวมของเลขที่ หาร 3 ลงตัว ตั้งแต่ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 3) = 0 Then
ans += i
End If
Next
Label7.Text = ans.ToString()
End Sub
Private Function factorial(ByVal num As Integer) As Integer
Dim ans As Integer = num
If (ans <= 0) Then
Return 1
End If
For i As Integer = 1 To num
ans = ans * i
Next
Return (ans)
End Function
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim application_number As Integer = 0
If TextBox1.Text <> "" Then
application_number = CInt(TextBox1.Text)
If (application_number > 0) Then
code_button1(application_number)
code_button2(application_number)
code_button3(application_number)
code_button4(application_number)
code_button5(application_number)
End If
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
End Sub
End Class
Private Sub code_button1(ByVal num As Integer)
Button1.Text = "ผลรวมของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
ans = ans + i
Next
Label3.Text = ans.ToString()
End Sub
Private Sub code_button2(ByVal num As Integer)
Button2.Text = "ผลรวมเฉพาะเลขคี่ของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 2) = 1 Then
ans = ans + i
End If
Next
Label4.Text = ans.ToString()
End Sub
Private Sub code_button3(ByVal num As Integer)
Button3.Text = "ผลรวมเฉพาะเลขคู่ของ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 2) = 0 Then
ans = ans + i
End If
Next
Label5.Text = ans.ToString()
End Sub
Private Sub code_button4(ByVal num As Integer)
Button4.Text = "!" + num.ToString() + " มีค่าเท่ากับ"
Dim ans As Integer = factorial(num)
Label6.Text = ans.ToString()
End Sub
Private Sub code_button5(ByVal num As Integer)
Button5.Text = "หาผลรวมของเลขที่ หาร 3 ลงตัว ตั้งแต่ 1 ถึง " + num.ToString()
Dim ans As Integer = 0
For i As Integer = 1 To num
If (i Mod 3) = 0 Then
ans += i
End If
Next
Label7.Text = ans.ToString()
End Sub
Private Function factorial(ByVal num As Integer) As Integer
Dim ans As Integer = num
If (ans <= 0) Then
Return 1
End If
For i As Integer = 1 To num
ans = ans * i
Next
Return (ans)
End Function
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim application_number As Integer = 0
If TextBox1.Text <> "" Then
application_number = CInt(TextBox1.Text)
If (application_number > 0) Then
code_button1(application_number)
code_button2(application_number)
code_button3(application_number)
code_button4(application_number)
code_button5(application_number)
End If
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
End Sub
End Class
สมัครสมาชิก:
บทความ (Atom)