สิ่งตีพิมพ์ในหัวข้อ 'multithreading'
ข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรมหน่วยความจำร่วมด้วยเธรด POSIX
แน่นอน ก่อนที่เราจะเริ่มพูดถึงการเขียนโปรแกรมเธรด POSIX เรามารีเฟรชแนวคิดพื้นฐานและข้อควรพิจารณาในการออกแบบในการเขียนโปรแกรมหน่วยความจำแบบแบ่งใช้กันก่อน ดังนั้น บทความนี้จึงเหมาะสำหรับผู้ที่ยังใหม่ต่อการเขียนโปรแกรมแบบขนานด้วยเธรด POSIX หรือบางครั้งเรียกว่า Pthreads
กระบวนการเทียบกับเธรด
กระบวนการ คือโปรแกรมใดๆ ที่กำลังดำเนินการซึ่งช่วยให้คุณสามารถดำเนินการตามความเหมาะสมที่ระบุไว้ในโปรแกรมได้ ในขณะที่ เธรด เป็นเส้นทางของการดำเนินการภายในกระบวนการซึ่งถือเป็น กระบวนการน้ำหนักเบา..
Java - การสั่งซื้อการประมวลผลเธรด
ในบทความนี้ ผมจะพูดถึงวิธีที่เราสามารถสั่งซื้อเธรดต่างๆ เพื่อให้ทำงานตามลำดับที่เราต้องการ แน่นอนว่ามีวิธีดั้งเดิมในการรับประกันความเป็นระเบียบ แต่ฉันอยากจะแสดงให้คุณเห็นวิธีที่สวยงามที่เรียกว่า CompletableFuture ซึ่งถูกนำมาใช้ใน Java 8
1- CompletableFuture คืออะไร
CompletableFuture เป็นวิธีใหม่ในการรันเธรดที่ใช้งานง่ายอย่างที่คุณเห็นในตอนนี้ มาดูกันว่าเราจะรันเธรดด้วยสิ่งนี้ได้อย่างไร ขั้นแรก เราสร้างคลาส Runnable
public class TextDownloader implements Runnable {..
Web Workers: เพิ่มประสิทธิภาพเว็บแอปพลิเคชันผ่านมัลติเธรด
เมื่อเราใช้เว็บแอปพลิเคชัน เรามักจะพบกับเว็บไซต์ที่ต้องใช้พลังการประมวลผลสูง ส่งผลให้เวลาในการโหลดช้าลงและการตอบสนองลดลง อย่างไรก็ตาม ด้วยคุณสมบัติ JavaScript อันทรงพลัง Web Workers นักพัฒนาจึงสามารถปรับปรุงประสิทธิภาพของแอปพลิเคชันเว็บได้อย่างมาก ในบทความนี้ เราจะสำรวจแนวคิดของ Web Workers วิธีเปิดใช้งานการทำงานแบบมัลติเธรด และค้นพบวิธีที่พวกเขาสามารถทำให้ประสบการณ์ออนไลน์ของเราราบรื่นและมีประสิทธิภาพมากขึ้น
Web Worker คืออะไร?
Web Workers เป็นคุณสมบัติพิเศษใน JavaScript..
คำถามในหัวข้อ 'multithreading'
เราจะใช้มัลติเธรดในแอปพลิเคชัน PHP ได้อย่างไร
มีวิธีที่สมจริงในการใช้โมเดลแบบมัลติเธรดใน PHP หรือไม่ไม่ว่าจะเป็นจริงหรือแค่จำลองมัน ก่อนหน้านี้มีการแนะนำว่าคุณสามารถบังคับให้ระบบปฏิบัติการโหลดอินสแตนซ์อื่นของไฟล์ปฏิบัติการ PHP และจัดการกระบวนการอื่น ๆ ที่เกิดขึ้นพร้อมกันได้
ปัญหาคือเมื่อโค้ด...
523615 มุมมอง
schedule
09.01.2024
Reader/Writer ล็อคใน C ++
ฉันกำลังมองหาตัวล็อคผู้อ่าน / นักเขียนที่ดีใน C ++ เรามีกรณีการใช้งานของผู้เขียนไม่บ่อยเพียงคนเดียวและผู้อ่านบ่อยจำนวนมาก และต้องการเพิ่มประสิทธิภาพเพื่อสิ่งนี้ จะดีกว่า ฉันต้องการโซลูชันข้ามแพลตฟอร์ม อย่างไรก็ตาม Windows...
84655 มุมมอง
schedule
24.12.2023
การกำหนดเวลาดำเนินการของเธรดและการเข้าถึง IO โดยเธรดที่ต่างกัน
ฉันต้องการกำหนดเวลาดำเนินการของเธรดในโปรแกรมแบบมัลติเธรด และฉันต้องการทราบเกี่ยวกับการเข้าถึง IO ที่ทำโดยแต่ละเธรดด้วย
มีคำสั่ง / เครื่องมือใดบ้างที่สามารถทำได้กับโปรแกรม C?
321 มุมมอง
schedule
06.01.2024
ใช้เวลานานแค่ไหนในการสร้าง 1 ล้านเธรดใน Haskell
สิ่งที่ฉันเข้าใจ Haskell มีเธรดสีเขียว แต่จะมีน้ำหนักเบาขนาดไหน เป็นไปได้ไหมที่จะสร้าง 1 ล้านเธรด?
หรือ 100,000 เธรดจะใช้เวลานานเท่าใด?
2981 มุมมอง
schedule
27.11.2023
Linux วางลงในเคอร์เนลบนคอร์ทั้งหมดหรือไม่
สำหรับคอมพิวเตอร์แบบมัลติคอร์ที่ใช้ Linux 2.6.x จะเกิดอะไรขึ้นเมื่อเธรดทำการเรียกระบบ มันดรอปลงในเคอร์เนลเฉพาะบนคอร์ที่เธรดกำลังทำงานอยู่หรือไม่หรือหล่นลงในเคอร์เนลบนคอร์ทั้งหมด (ขออภัยหากนี่เป็นคำถามมือใหม่)
พฤติกรรมนี้...
344 มุมมอง
schedule
29.12.2023
iPhone: วิธีใช้ PerformSelector: onThread:withObject:waitUntilDone: วิธีการ?
ฉันกำลังพยายามใช้เธรดแยกต่างหากสำหรับการทำงานกับ API บางตัว
ปัญหาคือฉันไม่สามารถใช้วิธี performSelector:onThread:withObject:waitUntilDone: กับเธรดที่ฉันสร้างอินสแตนซ์ไว้ได้
รหัสของฉัน:
@interface MyObject : NSObject {
NSThread...
34436 มุมมอง
schedule
24.11.2023
ดำเนินการวิธี App Delegate บนเธรดหลักจากเธรดรอง
ฉันมีแอพ Iphone ที่มี 2 เธรด คนหนึ่งกำลังฟังเซิร์ฟเวอร์ และอีกคนกำลังทำ UIKit, OpenGl
ฉันต้องเรียกใช้วิธีการที่อัปเดตมุมมองจากเธรดรองที่กำลังฟังเซิร์ฟเวอร์บนเธรดหลักที่จัดการมุมมองดังนั้นฉันจึงใช้...
917 มุมมอง
schedule
29.11.2023
วิธีที่ถูกต้องในการใช้ QThread คืออะไร (โปรดตัวอย่าง)
เอกสารประกอบ Qt สำหรับ QThread บอกว่าให้สร้างคลาสจาก QThread และใช้วิธีการเรียกใช้
ด้านล่างนี้นำมาจากเอกสารประกอบ 4.7 Qthread ...
หากต้องการสร้างเธรดของคุณเอง ให้คลาสย่อย QThread และเรียกใช้ใหม่ () ตัวอย่างเช่น:
class MyThread :...
82033 มุมมอง
schedule
13.12.2023
NUnit คัดลอกรายการ ILogicalThreadAffinative ใน CallContext ไปยังเธรดใหม่
ฉันพบปัญหากับ NUnit และ CallContext (โดยใช้ C#) โดยที่ NUnit กำลังคัดลอกสิ่งใด ๆ ในบริบทการโทรที่มีอยู่ซึ่งขยาย ILogicalThreadAffinative เมื่อมีการสร้างเธรดใหม่ ตัวอย่างเช่น ในตัวอย่างต่อไปนี้ จะมีข้อยกเว้นเกิดขึ้นในเธรดที่สร้างขึ้นใหม่เสมอ:...
282 มุมมอง
schedule
13.11.2023
ทำให้ GUI ช้าลงใน Android
แอพ Android ของฉันทำงานได้ดี ยกเว้นลำดับสุดท้าย มันเป็นเกมและในตอนท้ายหน้าจอจะแสดงคะแนน:
TextView allscores = new TextView(this);
allscores.setText("Your score: "+ mypoints);
ต่อไป ฉันต้องการให้ GUI...
847 มุมมอง
schedule
23.10.2023
จะดึงรหัสเธรดจาก boost :: thread ได้อย่างไร
ฉันต้องการที่จะระบุเธรดด้วย id แบบง่ายเมื่อทำการบันทึก เพื่อให้ง่ายต่อการติดตามการดำเนินการของเธรดเดียว ด้วย windows ที่ใช้ API GetCurrentThreadId() สามารถบรรลุสิ่งที่ฉันต้องการได้ ใน boost::thread มีวิธี get_id()...
29636 มุมมอง
schedule
24.11.2023
การสื่อสารข้ามเธรดและการอัพเดตภาคสนามใน VB.NET
ฉันประสบปัญหาในการทำให้การสื่อสารข้ามเธรด/การอัปเดตฟิลด์ทำงานอย่างถูกต้องในโปรแกรม VB.NET 2010 ของฉัน ฉันกำลังพยายามอัปเดตฟิลด์ในแบบฟอร์มหลักของฉันเมื่อใดก็ตามที่เธรดที่ฉันเริ่มส่งเหตุการณ์ นี่คือโค้ดเวอร์ชันที่เรียบง่ายของฉัน:...
4061 มุมมอง
schedule
26.10.2023
JProgressBar อัปเดตพฤติกรรมของค่า (เธรด)
ดูเหมือนจะไม่เข้าใจว่าทำไมเมื่อทำงานกับค่าบางอย่าง JProgressBar จะหยุดนิ่งและหยุดการคำนวณ ตัวอย่างเช่นโค้ดด้านล่างจะแสดงเฉพาะศูนย์ตลอดเวลา
...
int value = (100/maxGenerations)*i; //maxGenerations = 2500
final int barValue...
438 มุมมอง
schedule
11.12.2023
เธรด c++ - การประมวลผลแบบขนาน
ฉันสงสัยว่าจะดำเนินการสองกระบวนการในโปรเซสเซอร์ดูอัลคอร์ใน c ++ ได้อย่างไร
ฉันรู้ว่าเธรด (หรือมัลติเธรด) ไม่ใช่คุณสมบัติในตัวของ c ++
มีการสนับสนุนเธรดใน Qt แต่ฉันไม่เข้าใจอะไรเลยจากการอ้างอิงของพวกเขา :(
แล้วมีใครรู้วิธีง่ายๆ...
24001 มุมมอง
schedule
04.11.2023
ยุติเธรดหลักโดยไม่รับประกันว่าเธรดที่สร้างจะสิ้นสุด
ฉันได้ติดตั้งโปรแกรมแบบมัลติเธรดที่เกี่ยวข้องกับการวางเธรดสำหรับผู้ใช้แต่ละคน และดำเนินกิจกรรมเล็กๆ น้อยๆ บางอย่าง (ไม่มีกระบวนการที่ละเอียดถี่ถ้วน เช่น การเชื่อมต่อฐานข้อมูลที่เกี่ยวข้อง) เธรดหลักทำงานอย่างไม่มีที่สิ้นสุด...
490 มุมมอง
schedule
27.11.2023
แบบสอบถาม SQL ใน Parallel.ForEach - Deadlock
ฉันมีวิธีการคงที่ซึ่งเรียก SQL SP ภายในวิธีการคงที่ใน Parallel.ForEach loop SP แทรกข้อมูลใน 3 ตารางที่แตกต่างกัน ฉันกำลังใช้ระดับธุรกรรมแบบอนุกรม แต่บางครั้งฉันก็ประสบปัญหาการหยุดชะงัก
ฉันคิดว่าถ้าฉันสร้างวิธีนั้นเป็นวิธีอินสแตนซ์หรือใช้ ForEach...
6118 มุมมอง
schedule
01.01.2024
การทำงานกับเธรดและพอร์ตอนุกรมและการเรียก DB
ฉันกำลังพยายามอ่านข้อมูลจากพอร์ตอนุกรม แสดงข้อมูลในการควบคุมบางส่วน และแทรกข้อมูลลงในฐานข้อมูล
ฉันได้แทรกมันลงในฐานข้อมูลแล้วและมันอ่านได้อย่างถูกต้อง อย่างไรก็ตาม มันไม่ได้เขียนลงในกล่องข้อความอีกต่อไปตั้งแต่ฉันเพิ่มการเปลี่ยนแปลงฐานข้อมูล...
297 มุมมอง
schedule
24.10.2023
การทดสอบหน่วยสำหรับการเรียกผู้รับมอบสิทธิ์แบบอะซิงโครนัสใน c #
ฉันมีฟังก์ชันที่สร้างการมอบหมายและเริ่ม BeginInrigg บนวัตถุนั้น โดยมีฟังก์ชันอื่นถูกส่งผ่านไปเพื่อรอ EndInrigg:
private static void DeploymentComponentThreadedCallBack(IAsyncResult ar)
{
var result = (AsyncResult)ar;
var...
1432 มุมมอง
schedule
16.11.2023
คาดว่า ThreadAbort สำหรับเธรดพื้นหลัง
ฉันมีสิ่งต่อไปนี้
public static Thread testThread = new Thread(ThreadStart) {Name = "TestThread", IsBackground = true};
private void Form_Load()
{
testThread.Start()
}
private static void ThreadStart()
{
int count = 0;
try
{...
1471 มุมมอง
schedule
17.01.2024
การล็อคแบบบล็อคเทียบกับการล็อคแบบไม่บล็อค
ฉันกำลังคิดอยู่ที่นี่: หากคุณมี 2 เธรดที่ดำเนินการการดำเนินการ FAST ที่จำเป็นต้องซิงโครไนซ์ วิธีการไม่บล็อกจะเร็วกว่า/ดีกว่าวิธีการบล็อก/สลับบริบทไม่ใช่หรือ
การไม่บล็อกฉันหมายถึงบางสิ่งเช่น:
ในขณะที่ (จริง) { ถ้า (checkAndGetTheLock ()) พัง; }...
2570 มุมมอง
schedule
13.12.2023