คำถามติดแท็ก concurrency

การเกิดขึ้นพร้อมกันเป็นคุณสมบัติของระบบที่กระบวนการหลายอย่างกำลังดำเนินการในเวลาเดียวกัน

4
สิ่งที่ป้องกันไม่ให้สภาพการแข่งขันในการล็อค?
ฉันเข้าใจพื้นฐานของเผ่าพันธุ์ของข้อมูลและวิธีการล็อก / mutexes / semaphores ช่วยป้องกันพวกเขา แต่จะเกิดอะไรขึ้นถ้าคุณมี "สภาพการแข่งขัน" บนตัวล็อค? ยกตัวอย่างเช่นสองหัวข้อที่แตกต่างกันบางทีในโปรแกรมเดียวกัน แต่ทำงานบนหน่วยประมวลผลที่แตกต่างกันพยายามที่จะได้รับการล็อคในเวลาเดียวกันแน่นอน จะเกิดอะไรขึ้น? จะทำอย่างไรเพื่อป้องกันสิ่งนั้น มันเป็นไปไม่ได้หรือไม่น่าเป็นไปได้? หรือว่าเป็นสภาพการแข่งขันที่แท้จริงที่จะเกิดขึ้น?

8
ฟังก์ชั่นรับประกันว่าจะไม่ส่งคืนค่าเดิมสองครั้ง [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา นี่เป็นคำถามที่ฉันถูกถามในการสัมภาษณ์งานและฉันไม่สามารถหาคำตอบที่พวกเขากำลังมองหาดังนั้นฉันหวังว่าบางคนที่นี่อาจมีความคิดบางอย่าง เป้าหมายคือการเขียนฟังก์ชั่นที่รับประกันว่าจะไม่ส่งคืนค่าเดิมสองครั้ง สมมติว่าฟังก์ชั่นนี้จะสามารถเข้าถึงได้โดยหลายเครื่องพร้อมกัน ความคิดของฉันคือการกำหนดรหัสเฉพาะให้แต่ละเครื่องแล้วส่งค่านั้นไปยังฟังก์ชันตัวสร้างค่าที่ไม่ซ้ำกัน: var i = 0; function uniq(process_id, machine_id) { return (i += 1).toString() + machine_id + "-" + process_id; } สิ่งนี้จะหลีกเลี่ยงการตกออกมาจากสภาพการแข่งขันเนื่องจากแม้ว่ากระบวนการสองกระบวนการขึ้นไปอ่านค่าเดียวกัน แต่ค่าiส่งคืนแต่ละครั้งจะถูกติดแท็กการรวมกันที่ไม่ซ้ำกันของ id กระบวนการและรหัสเครื่อง อย่างไรก็ตามผู้สัมภาษณ์ของฉันไม่ชอบคำตอบนี้เพราะการนำเครื่องอื่นมาใช้ออนไลน์เกี่ยวข้องกับการกำหนดรหัส ใครจะคิดวิธีอื่นในการแก้ปัญหานี้ที่ไม่เกี่ยวข้องกับการกำหนดค่าเครื่องแต่ละเครื่องให้มีรหัสเฉพาะหรือไม่? ฉันต้องการคำตอบในกรณีที่คำถามนี้เกิดขึ้นอีกครั้ง ขอบคุณ

3
ทำไมมัลติเธรดถึงเป็นที่ต้องการสำหรับการปรับปรุงประสิทธิภาพ?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 6 ปีที่แล้ว ฉันมีคำถามเกี่ยวกับสาเหตุที่โปรแกรมเมอร์ดูเหมือนว่าจะรักการทำงานพร้อมกันและโปรแกรมแบบมัลติเธรดโดยทั่วไป ฉันกำลังพิจารณา 2 วิธีหลักที่นี่: โดยทั่วไปแล้ววิธีการแบบอะซิงก์นั้นขึ้นอยู่กับสัญญาณหรือเพียงแค่วิธีการแบบอะซิงก์ที่ถูกเรียกโดยเอกสารและภาษาจำนวนมากเช่น C # 5.0 ใหม่และ "ด้ายร่วม" ที่จัดการนโยบายการส่งข้อมูลของคุณ วิธีการทำงานพร้อมกันหรือวิธีการหลายเธรด ฉันแค่จะบอกว่าฉันกำลังคิดเกี่ยวกับฮาร์ดแวร์ที่นี่และสถานการณ์กรณีที่เลวร้ายที่สุดและฉันได้ทดสอบกระบวนทัศน์ทั้งสองนี้ด้วยตัวเองกระบวนทัศน์แบบ async เป็นผู้ชนะ ณ จุดที่ฉันไม่เข้าใจว่าทำไมคนถึง 90% พูดคุยเกี่ยวกับมัลติเธรดเมื่อพวกเขาต้องการเพิ่มความเร็วของสิ่งต่าง ๆ หรือใช้ทรัพยากรให้เกิดประโยชน์ ฉันได้ทดสอบโปรแกรมแบบมัลติเธรดและโปรแกรม async บนเครื่องเก่าด้วย Intel quad-core ที่ไม่ได้มีตัวควบคุมหน่วยความจำภายในซีพียูหน่วยความจำได้รับการจัดการทั้งหมดโดยเมนบอร์ดในกรณีนี้การแสดงที่น่ากลัวกับ แอ็พพลิเคชันแบบมัลติเธรดแม้จำนวนเธรดที่ค่อนข้างต่ำเช่น 3-4-5 อาจเป็นปัญหาแอ็พพลิเคชันไม่ตอบสนองและเป็นเพียงช้าและไม่เป็นที่พอใจ วิธี async ที่ดีคือในอีกทางหนึ่งอาจไม่เร็วขึ้น แต่ก็ไม่ได้แย่ที่สุดแอปพลิเคชันของฉันรอผลและไม่แฮงค์มันตอบสนองและมีการปรับขนาดที่ดีขึ้นมาก ฉันได้ค้นพบว่าการเปลี่ยนแปลงบริบทในโลกของเธรดนั้นไม่ได้ราคาถูกในสถานการณ์โลกแห่งความเป็นจริงมันค่อนข้างแพงโดยเฉพาะอย่างยิ่งเมื่อคุณมีเธรดมากกว่า 2 เธรดที่ต้องวนรอบและสลับระหว่างกันเพื่อคำนวณ ในซีพียูสมัยใหม่สถานการณ์มันไม่ได้แตกต่างกันจริงๆตัวควบคุมหน่วยความจำที่รวมเข้าด้วยกัน แต่ประเด็นของฉันคือซีพียู …

2
SQLite ที่มีสองกระบวนการของไพ ธ อนเข้าถึง: หนึ่งการอ่านหนึ่งการเขียน
ฉันกำลังพัฒนาระบบขนาดเล็กที่มีสององค์ประกอบ: โพลหนึ่งข้อมูลจากแหล่งข้อมูลอินเทอร์เน็ตและแปลเป็นข้อมูล sql เพื่อคงอยู่ในระบบ คนที่สองอ่านว่าข้อมูล sql จากอินสแตนซ์ในท้องถิ่นและให้บริการผ่านทาง json และ api ที่สงบ เดิมทีฉันวางแผนจะคงข้อมูลไว้กับ postgresql แต่เนื่องจากแอปพลิเคชันจะมีข้อมูลปริมาณน้อยมากในการจัดเก็บและรับส่งข้อมูลเพื่อให้บริการฉันคิดว่ามันเกินความจริง SQLite ขึ้นอยู่กับงานหรือไม่? ฉันชอบความคิดของรอยเท้าขนาดเล็กและไม่จำเป็นต้องบำรุงรักษาเซิร์ฟเวอร์ SQL อื่นสำหรับงานนี้ แต่ฉันกังวลเกี่ยวกับการทำงานพร้อมกัน ดูเหมือนว่าเมื่อเปิดใช้งานการบันทึกล่วงหน้าเขียนการอ่านและการเขียนฐานข้อมูล SQLite สามารถเกิดขึ้นได้โดยไม่ต้องล็อคกระบวนการใด ๆ ออกจากฐานข้อมูล อินสแตนซ์ SQLite เดียวสามารถรักษากระบวนการที่เกิดขึ้นพร้อมกันสองกระบวนการให้เข้าถึงได้หากมีเพียงหนึ่งการอ่านและการเขียนอื่นเท่านั้น ฉันเริ่มเขียนโค้ด แต่สงสัยว่านี่เป็นการใช้ผิดของ SQLite หรือไม่

5
ฟังก์ชั่นการเขียนโปรแกรม: แนวคิดที่ถูกต้องเกี่ยวกับการทำงานพร้อมกันและรัฐ
ผู้เสนอ FP อ้างว่าภาวะพร้อมกันนั้นง่ายเนื่องจากกระบวนทัศน์ของพวกเขาหลีกเลี่ยงสภาวะที่ไม่แน่นอน ฉันไม่เข้าใจ ลองจินตนาการว่าเรากำลังสร้างการรวบรวมข้อมูลดันเจี้ยนแบบผู้เล่นหลายคน (โร๊คไลค์) โดยใช้ FP ที่เราเน้นฟังก์ชั่นที่บริสุทธิ์และโครงสร้างข้อมูลที่ไม่เปลี่ยนรูป เราสร้างดันเจี้ยนที่ประกอบด้วยห้องโถงทางเดินวีรบุรุษมอนสเตอร์และของขวัญ โลกของเราเป็นกราฟวัตถุของโครงสร้างและความสัมพันธ์อย่างมีประสิทธิภาพ เมื่อสิ่งต่าง ๆ เปลี่ยนการเป็นตัวแทนของโลกเราก็จะได้รับการแก้ไขเพื่อสะท้อนการเปลี่ยนแปลงเหล่านั้น ฮีโร่ของเราฆ่าหนูหยิบดาบสั้น ฯลฯ สำหรับฉันโลก (ความเป็นจริงในปัจจุบัน) นำแนวคิดของรัฐนี้มาใช้และฉันขาดวิธีที่ FP เอาชนะสิ่งนี้ ในฐานะฮีโร่ของเราดำเนินการฟังก์ชั่นแก้ไขสถานะของโลก ดูเหมือนว่าการตัดสินใจทุกอย่าง (AI หรือมนุษย์) จะต้องขึ้นอยู่กับสถานะของโลกตามที่เป็นอยู่ในปัจจุบัน เราจะอนุญาตให้มีการทำงานพร้อมกันได้ที่ไหน? เราไม่สามารถมีกระบวนการหลายอย่างพร้อมกันทำให้เป็นโมฆะสถานะของโลกว่ากระบวนการหนึ่งจะยึดผลลัพธ์ของมันในบางสถานะที่หมดอายุ ฉันรู้สึกว่าการควบคุมทั้งหมดควรเกิดขึ้นภายในลูปควบคุมเดียวเพื่อให้เราประมวลผลสถานะปัจจุบันที่แสดงด้วยกราฟวัตถุปัจจุบันของโลก เห็นได้ชัดว่ามีสถานการณ์ที่เหมาะอย่างยิ่งสำหรับการเกิดพร้อมกัน (เช่นเมื่อการประมวลผลงานแยกที่มีสถานะเป็นอิสระจากกัน) ฉันไม่เห็นว่าการใช้งานพร้อมกันมีประโยชน์ในตัวอย่างของฉันอย่างไรและนั่นอาจเป็นปัญหา ฉันอาจแสดงข้อเรียกร้องผิด ๆ บางคนสามารถเป็นตัวแทนของการอ้างสิทธิ์นี้ได้ดีขึ้นหรือไม่

2
การจัดการภาวะพร้อมกัน ES / CQRS
ฉันเพิ่งเริ่มดำน้ำใน CQRS / ES เพราะฉันอาจจำเป็นต้องใช้มันในที่ทำงาน ดูเหมือนว่าจะมีแนวโน้มมากในกรณีของเราเพราะมันจะแก้ปัญหาได้มากมาย ฉันร่างความเข้าใจคร่าวๆว่าแอพ ES / CQRS ควรมีลักษณะเป็นบริบทอย่างไรในกรณีการใช้งานธนาคารที่เรียบง่าย (ถอนเงิน) เพื่อสรุปหากบุคคล A ถอนเงิน: ออกคำสั่ง คำสั่งถูกมอบให้สำหรับการตรวจสอบ / การตรวจสอบ เหตุการณ์ถูกส่งไปยังที่เก็บเหตุการณ์หากการตรวจสอบความถูกต้องสำเร็จ ผู้รวบรวมจะ dequeues เหตุการณ์เพื่อใช้การแก้ไขกับการรวม จากสิ่งที่ฉันเข้าใจบันทึกเหตุการณ์เป็นที่มาของความจริงเนื่องจากมันเป็นบันทึกของข้อเท็จจริงเราก็จะสามารถประมาณการภาพใด ๆ ออกมาได้ ตอนนี้สิ่งที่ฉันไม่เข้าใจในสิ่งที่ยิ่งใหญ่นี้คือสิ่งที่เกิดขึ้นในกรณีนี้: กฎ: ยอดคงเหลือต้องไม่ติดลบ person A มียอดคงเหลือ 100e person A ทำการถอนคำสั่งจาก 100e ผ่านการตรวจสอบและ MoneyWithdrewEvent 100e เหตุการณ์ ในระหว่างนี้บุคคล A ออกการถอนคำสั่งอีก 100e MoneyWithdrewEvent ตัวแรกไม่ได้รับการรวบรวม แต่ยังผ่านการตรวจสอบเนื่องจากการตรวจสอบการตรวจสอบกับการรวม (ที่ยังไม่ได้รับการปรับปรุง) MoneyWithdrewEvent …

4
ทำไม coroutines ถึงกลับมา? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ส่วนใหญ่ของรากฐานสำหรับ coroutines เกิดขึ้นใน 60s / 70s แล้วหยุดในความโปรดปรานของทางเลือก (เช่นหัวข้อ) มีสารใด ๆ ที่สนใจต่ออายุใน coroutines ที่เกิดขึ้นในหลามและภาษาอื่น ๆ ?

1
การเขียนโปรแกรม Erlang และ Go พร้อมกันความแตกต่างระหว่าง CSP และนักแสดง?
ฉันกำลังดูการเขียนโปรแกรมพร้อมกันในภาษาโปรแกรม Erlang และ Go ตามการค้นพบของฉันพวกเขาใช้โมเดลนักแสดงและ CSP ตามลำดับ แต่ฉันก็ยังสับสนกับ CSP และนักแสดงต่างกันอย่างไร มันแตกต่างทางทฤษฎีเพียงอย่างเดียว แต่เป็นแนวคิดเดียวกันหรือไม่

2
เหตุใดสถานะที่แชร์จึงทำให้ประสิทธิภาพลดลง
ฉันทำงานภายใต้หลักการที่ไม่มีส่วนแบ่งในการเขียนโปรแกรมพร้อมกัน โดยพื้นฐานแล้วเธรดผู้ทำงานทั้งหมดของฉันมีสำเนาแบบอ่านอย่างเดียวที่ไม่เปลี่ยนรูปแบบของสถานะเดียวกันซึ่งไม่เคยใช้ร่วมกันระหว่างพวกเขา ( แม้โดยการอ้างอิง ) โดยทั่วไปการพูดสิ่งนี้ใช้ได้ดีจริงๆ ตอนนี้มีคนแนะนำแคชซิงเกิลที่ไม่ล็อค ( เช่นพจนานุกรมคงที่ ) ที่เธรดทั้งหมดกำลังเข้าถึงพร้อมกัน เนื่องจากพจนานุกรมจะไม่เปลี่ยนแปลงหลังจากเริ่มต้นจึงไม่มีการล็อค ยังไม่มีปัญหาเรื่องความปลอดภัยของเธรด แต่ตอนนี้มีประสิทธิภาพลดลง คำถามคือ ... เนื่องจากไม่มีการล็อคทำไมการแนะนำซิงเกิลตันนี้จึงสร้างผลงานได้อย่างยอดเยี่ยม? เกิดอะไรขึ้นภายใต้ฝาครอบที่สามารถอธิบายสิ่งนี้ได้? เพื่อยืนยันการเข้าถึงซิงเกิลใหม่นี้เป็นการเปลี่ยนแปลงเพียงอย่างเดียวและฉันสามารถสร้างสิ่งนี้ได้อย่างน่าเชื่อถือเพียงแค่แสดงความคิดเห็นการเรียกไปยังแคช

6
แนวทางปฏิบัติที่ดีที่สุดในการจัดการการเกิดพร้อมกันลงในตระกร้าในเว็บไซต์อีคอมเมิร์ซ
แนวทางที่ดีที่สุดในการจัดการกรณีที่ลูกค้าสองรายเพิ่มในเวลาเดียวกันกับผลิตภัณฑ์ที่มีสต็อกเพียง 1 คืออะไร ต้องมีการตรวจสอบในรหัสของตะกร้าเพื่อหลีกเลี่ยงหนึ่งใน 2 ลูกค้าเหล่านี้เพื่อเพิ่มผลิตภัณฑ์เดียวกันหรือไม่ หรือการตรวจสอบนี้จะต้องดำเนินการในขั้นตอนการชำระเงินในการทำเช่นแบบสอบถามที่สองเพื่อยืนยันว่าผลิตภัณฑ์ที่เกี่ยวข้องยังคงอยู่ในสต็อก (หมายถึงยังไม่ได้ซื้อโดยลูกค้าพร้อมกัน)?

3
ทำไมต้องห้านักปรัชญาการรับประทานอาหาร?
ฉันสงสัยว่าทำไมปัญหานักปรัชญาด้านการรับประทานอาหารจึงขึ้นอยู่กับกรณีนักปรัชญาห้าคน ทำไมไม่สี่ ฉันเดาว่าเราสามารถสังเกตปัญหาที่ไม่พึงประสงค์ทั้งหมดที่อาจเกิดขึ้นเมื่อพูดถึงตัวอย่างนักปรัชญาห้าคนเช่นกันเมื่อเราได้รับนักคิดสี่คน เป็นเพียงเหตุผลทางประวัติศาสตร์เท่านั้นหรือไม่?

5
การใช้งานจริงของ DelayQueue [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว อะไรจะเป็นการใช้งานจริงของDelayQueueปัญหาทั่วไปที่ได้รับการออกแบบมาเพื่อแก้ไขคืออะไร

3
คุณคิดอย่างไรเกี่ยวกับตัวแบบนักแสดง? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา รูปแบบนักแสดงที่Erlang ใช้ดูเหมือนจะเป็นวิธีที่แตกต่างกันมากในการเขียนโปรแกรมพร้อมกัน คุณคิดอย่างไรเกี่ยวกับตัวแบบนักแสดง? มันจะเป็นทางออกยอดนิยมสำหรับการเกิดพร้อมกันหรือไม่?

4
โปรแกรมที่อ้างว่าไม่เป็นมิตรกับ "มัลติคอร์"
คุณเห็นวลีนี้หรือคล้ายกันเตะเป็นครั้งคราวโดยทั่วไปหมายถึงโปรแกรมที่อ้างว่าพวกเขาไม่ได้ออกแบบมาเพื่อใช้ประโยชน์จากโปรเซสเซอร์แบบมัลติคอร์อย่างเต็มที่ นี่เป็นเรื่องปกติโดยเฉพาะอย่างยิ่งกับการเขียนโปรแกรมวิดีโอเกม (แน่นอนว่าโปรแกรมจำนวนมากไม่มีการทำงานพร้อมกันและไม่จำเป็นต้องใช้เช่นสคริปต์พื้นฐาน ฯลฯ ) สิ่งนี้จะเป็นอย่างไร โปรแกรมจำนวนมาก (โดยเฉพาะเกม) ใช้งานพร้อมกันและเนื่องจากระบบปฏิบัติการรับผิดชอบการกำหนดตารางเวลางานบน CPU ดังนั้นโปรแกรมเหล่านี้จึงไม่ได้รับประโยชน์จากหลายคอร์ที่มีอยู่หรือไม่ สิ่งนี้หมายความว่าอย่างไรในการ "ใช้ประโยชน์จากหลายแกน" นักพัฒนาเหล่านี้จริง ๆ แล้วห้ามการกำหนดตารางงาน OS และบังคับให้มีความเกี่ยวข้องหรือกำหนดเวลาของตนเองหรือไม่? (ฟังดูเหมือนปัญหาด้านเสถียรภาพที่สำคัญ) ฉันเป็นโปรแกรมเมอร์ Java ดังนั้นฉันอาจไม่ต้องจัดการกับเรื่องนี้เนื่องจากสิ่งที่เป็นนามธรรมหรืออะไรก็ตาม

4
ใช้โครงสร้างข้อมูลถาวรในภาษาที่ไม่สามารถใช้งานได้
ภาษาที่ใช้งานได้จริงหรือใกล้เคียงกับการทำงานล้วนได้รับประโยชน์จากโครงสร้างข้อมูลถาวรเนื่องจากมีความไม่เปลี่ยนรูปแบบและเหมาะสมกับรูปแบบการเขียนโปรแกรมเชิงหน้าที่ แต่ในบางครั้งเราจะเห็นไลบรารีของโครงสร้างข้อมูลถาวรสำหรับภาษา (ตามรัฐ, OOP) เช่น Java การอ้างสิทธิ์ที่มักได้ยินในความโปรดปรานของโครงสร้างข้อมูลแบบถาวรคือเนื่องจากพวกมันไม่เปลี่ยนรูปพวกมันจึงปลอดภัยต่อเธรด อย่างไรก็ตามเหตุผลที่โครงสร้างข้อมูลถาวรนั้นมีความปลอดภัยต่อเธรดคือหากเธรดหนึ่งต้องการ "เพิ่ม" องค์ประกอบให้กับคอลเลกชันถาวรการดำเนินการจะส่งกลับคอลเลกชันใหม่เช่นเดิม แต่มีองค์ประกอบที่เพิ่มเข้ามา เธรดอื่นจึงเห็นคอลเลกชันดั้งเดิม แน่นอนว่าคอลเล็กชั่นทั้งสองนี้มีสถานะภายในเป็นจำนวนมาก - นั่นคือสาเหตุที่โครงสร้างถาวรเหล่านี้มีประสิทธิภาพ แต่เนื่องจากเธรดที่แตกต่างกันเห็นสถานะของข้อมูลที่แตกต่างกันจึงดูเหมือนว่าโครงสร้างข้อมูลถาวรนั้นไม่เพียงพอที่จะจัดการกับสถานการณ์ที่เธรดหนึ่งทำการเปลี่ยนแปลงที่สามารถมองเห็นเธรดอื่นได้ สำหรับเรื่องนี้ดูเหมือนว่าเราจะต้องใช้อุปกรณ์เช่นอะตอมการอ้างอิงหน่วยความจำทรานแซคชันของซอฟต์แวร์หรือแม้กระทั่งการล็อคแบบคลาสสิกและกลไกการซิงโครไนซ์ ทำไมจึงเป็นไปไม่ได้ที่ PDSs จะกลายเป็นสิ่งที่มีประโยชน์ต่อ "ความปลอดภัยของเธรด" หรือไม่? มีตัวอย่างจริงที่ PDS ช่วยในการซิงโครไนซ์หรือแก้ไขปัญหาการทำงานพร้อมกันหรือไม่? หรือ PDS เป็นเพียงวิธีหนึ่งในการจัดหาอินเตอร์เฟสแบบไร้รัฐให้กับวัตถุเพื่อสนับสนุนสไตล์การเขียนโปรแกรมที่ใช้งานได้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.