Latest web development tutorials
×

HTML หลักสูตร

HTML หลักสูตร HTML แนะนำโดยย่อ HTML บรรณาธิการ HTML รากฐาน HTML ธาตุ HTML คุณสมบัติ HTML พาดหัว HTML ย่อหน้า HTML จัดรูปแบบข้อความ HTML ลิงค์ HTML หัว HTML CSS HTML ภาพ HTML ตาราง HTML รายการ HTML กลุ่ม HTML แบบ HTML ฟอร์ม HTML กรอบ HTML สี HTML ชื่อสี HTML ค่าสี HTML ต้นฉบับ HTML หน่วย Character HTML URL HTML รายการที่รวดเร็ว HTML ย่อ บทนำ XHTML

HTML5

HTML5 หลักสูตร HTML5 สนับสนุนเบราว์เซอร์ HTML5 องค์ประกอบใหม่ HTML5 Canvas HTML5 inline SVG HTML5 MathML HTML5 ลากและวาง HTML5 สถานที่ตั้งทางภูมิศาสตร์ HTML5 วีดีโอ(Video) HTML5 ความถี่คลื่นเสียน(Audio) HTML5 Input ชนิด HTML5 องค์ประกอบของแบบฟอร์ม HTML5 คุณสมบัติของฟอร์ม HTML5 องค์ประกอบความหมาย HTML5 Web หน่วยความจำ HTML5 Web SQL HTML5 แอพลิเคชันแคช HTML5 Web Workers HTML5 SSE HTML5 WebSocket HTML5 ทดสอบ HTML(5)ข้อมูลจำเพาะรหัส

HTML สื่อ

HTML สื่อ(Media) HTML วิดเจ็ต HTML ความถี่คลื่นเสียน(Audio) HTML เครื่องเล่นวีดีโอ(Videos) HTML ตัวอย่าง

HTML คู่มืออ้างอิง

HTML รายการแท็ก(ตามลำดับตัวอักษร) HTML รายการแท็ก(ฟังก์ชั่นการจัดเรียง) HTML คุณสมบัติ HTML เหตุการณ์ HTML ผ้าใบ HTML ความถี่คลื่นเสียน/วีดีโอ HTML มีประสิทธิภาพ DOCTYPES HTML ชื่อสี HTML ตัวเลือกสี HTML ชุดอักขระ HTML ASCII HTML ISO-8859-1 HTML สัญญลักษณ์ HTML URL การเข้ารหัส HTML รหัสภาษา HTTP ข่าว HTTP ทาง แป้นพิมพ์ลัด

ตัวอย่างชวา - ผู้ผลิต / ปัญหาของผู้บริโภค

ตัวอย่าง Java ตัวอย่าง Java

ผู้ผลิตและผู้บริโภคเป็นเกลียวประเด็นปัญหาคลาสสิกรุ่น: ผลิตและผู้บริโภคในส่วนแบ่งช่วงเวลาเดียวกันของพื้นที่หน่วยความจำเดียวกันที่แสดงด้านล่างให้กับผู้ผลิตของพื้นที่จัดเก็บข้อมูลและผู้บริโภคสามารถเข้าถึงข้อมูล หากไม่ได้รับการประสานงานอาจปรากฏเงื่อนไขต่อไปนี้:

หน่วยความจำเต็มและผู้ผลิตครอบครองมันรอให้ผู้ผลิตเพื่อให้ห้องพักสำหรับผู้บริโภคที่จะเอาผลิตภัณฑ์ที่ผลิตของผลิตภัณฑ์การรอคอยสำหรับการใช้จ่ายของผู้บริโภคจึงเพิ่มพื้นที่สินค้า รอให้แต่ละอื่น ๆ เพื่อให้เกิดการหยุดชะงัก

ตัวอย่างชวา - ผู้ผลิต / ปัญหาของผู้บริโภค

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการแก้ปัญหาผู้ผลิต / ผู้บริโภคโดยกระทู้:

/*
 author by w3cschool.cc
 ProducerConsumerTest.java
 */

public class ProducerConsumerTest {
   public static void main(String[] args) {
      CubbyHole c = new CubbyHole();
      Producer p1 = new Producer(c, 1);
      Consumer c1 = new Consumer(c, 1);
      p1.start(); 
      c1.start();
   }
}
class CubbyHole {
   private int contents;
   private boolean available = false;
   public synchronized int get() {
      while (available == false) {
         try {
            wait();
         }
         catch (InterruptedException e) {
         }
      }
      available = false;
      notifyAll();
      return contents;
   }
   public synchronized void put(int value) {
      while (available == true) {
         try {
            wait();
         }
         catch (InterruptedException e) { 
         } 
      }
      contents = value;
      available = true;
      notifyAll();
   }
}

class Consumer extends Thread {
   private CubbyHole cubbyhole;
   private int number;
   public Consumer(CubbyHole c, int number) {
      cubbyhole = c;
      this.number = number;
   }
   public void run() {
      int value = 0;
         for (int i = 0; i < 10; i++) {
            value = cubbyhole.get();
            System.out.println("消费者 #" + this.number+ " got: " + value);
         }
    }
}

class Producer extends Thread {
   private CubbyHole cubbyhole;
   private int number;

   public Producer(CubbyHole c, int number) {
      cubbyhole = c;
      this.number = number;
   }

   public void run() {
      for (int i = 0; i < 10; i++) {
         cubbyhole.put(i);
         System.out.println("生产者 #" + this.number + " put: " + i);
         try {
            sleep((int)(Math.random() * 100));
         } catch (InterruptedException e) { }
      }
   }
}

รหัสดังกล่าวจะดำเนินการส่งออกเป็น:

消费者 #1 got: 0
生产者 #1 put: 0
生产者 #1 put: 1
消费者 #1 got: 1
生产者 #1 put: 2
消费者 #1 got: 2
生产者 #1 put: 3
消费者 #1 got: 3
生产者 #1 put: 4
消费者 #1 got: 4
生产者 #1 put: 5
消费者 #1 got: 5
生产者 #1 put: 6
消费者 #1 got: 6
生产者 #1 put: 7
消费者 #1 got: 7
生产者 #1 put: 8
消费者 #1 got: 8
生产者 #1 put: 9
消费者 #1 got: 9

ตัวอย่าง Java ตัวอย่าง Java