多執行緒實現凸殼演算法的動畫演示(0)引子

2021-05-24 01:07:08 字數 548 閱讀 4069

為什麼有這個想法呢?乙個不小心的意外,很久以前,我寫了個凸殼演算法,想起了我學習這個演算法時的過程,發現如果能有動畫的演示,也就是外面的殼怎麼形成的,因為在形成的過程中會有選擇,將整個過程放慢,絕對看得清清楚楚。

萌生了這個想法後,我發現要想達到我預想的那種效果還不是一件簡單的事情,如果將事情簡單點,可以現將外殼的每條線段給求出來,然後在利用定時效果,比如每隔1s畫一條線。其實如果熟悉凸殼演算法的應該知道,這樣來演示估計對於初學此演算法的完全就是白搭。於是,我極力演示處整個過程,也就是將每次選擇都演示出來,這樣初學者在看的時候會非常的清楚演算法的整個流程。

至於選擇多執行緒,我的初想是,設計3個類來處理,乙個為圖形介面類,負責資料儲存、圖形繪製等;兩個執行緒類,乙個負責演算法,乙個負責檢查是否可以繪製然後通知圖形介面類進行相應的繪製操作。當然,這裡面肯定得涉及訊號量類和互斥類,對資料部分進行同步。

為了做此程式,必須具備,凸殼演算法、qt程式設計、多執行緒程式設計等經驗,其實這些對我來說實戰次數非常少,通過這次的程式希望能得到很大改善。

我打算在9號之前完成,因為10號我就回家了,電腦放在寢室。今天的內容還慢艱辛的,把設計文件寫好就ok!

多執行緒類的案例演示

第一步 繼承thread類 第二步 重寫run 方法 第三步 建立繼承了thread類的物件,呼叫stast public class mytest extends thread public static void main string args 建立執行緒方式2 實現runnable介面 1....

多執行緒多程序的簡單演示

include include include include include include multimode 0 no multimode 1 multithread 2 multiprocess ifndef multimode define multimode 2 endif define...

多執行緒中死鎖產生的演示

package com.huowolf 死鎖的含義 多個執行緒同時被阻塞,它們中的乙個或者全部都在等待某個資源被釋放。由於執行緒被無限期地阻塞,因此程式不能正常執行。死鎖出現的情形 同步中巢狀同步。但也可能和諧 避免死鎖的乙個通用的經驗法則是 當幾個執行緒都要訪問共享資源a b c時,保證使每個執行...