Java多线程 | 用多个线程模拟实现银行叫号系统
生活随笔
收集整理的這篇文章主要介紹了
Java多线程 | 用多个线程模拟实现银行叫号系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
Java多線程(一)
線程和進程
概念
區別
線程的3種創建方式
線程的啟動
模擬實現銀行叫號系統
?
Java多線程(一)
線程和進程
概念
進程:進程是指在系統中獨立運行的一段程序,是資源(內存、CPU)分配的最小單位,打開電腦上的任務管理器,比如QQ,IDEA等,一個應用就可以稱之為一個進程。
線程:線程是指進程中的某一個任務,線程是程序執行的最小單位,比如QQ的發送消息或者接收消息就是指一個線程。一般來說,進程是由多個線程組成的,線程也可以看作是一個最小的進程。
區別
線程的3種創建方式
1. 繼承Thread類
class Threadone extends Thread {@Overridepublic void run() {System.out.println("thread1 extend Thread...");} }2. 實現implement接口
class Thread2 implements Runnable {@Overridepublic void run() {System.out.println("thread2 implements Runnable...");} }3. 通過匿名內部類
Thread t = new Thread(){@Overridepublic void run(){System.out.println("通過匿名內部類實現的thread...");} }線程的啟動
- 通過start()方法啟動線程
- run()方法只是thread下的一個普通方法,在主線程里執行
模擬實現銀行叫號系統
運行結果:
與上面同理:通過實現接口的方法實現如下
class bankSystemTwo implements Runnable {private static final int max = 10;//最大的號碼private static int num = 1;//當前叫到的號碼@Overridepublic void run() {for(int i = num;i <= max;i = num){System.out.println(Thread.currentThread().getName() + num++);try {Thread.sleep(15);} catch (InterruptedException e) {e.printStackTrace();}}} }public class Test {public static void main(String[] args){bankSystemTwo bank = new bankSystemTwo();Thread windowOne = new Thread(bank,"一號窗口: ");windowOne.start();Thread windowTwo = new Thread(bank,"二號窗口: ");windowTwo.start();Thread windowThree = new Thread(bank,"三號窗口: ");windowThree.start();Thread windowFour = new Thread(bank,"四號窗口: ");windowFour.start();} }運行結果:
?
?
注:如上僅個人理解所寫,如有錯誤請批評指正,謝謝~
總結
以上是生活随笔為你收集整理的Java多线程 | 用多个线程模拟实现银行叫号系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次深刻的面试经历
- 下一篇: 调试,是一件有挑战的事情