continuations

    3熱度

    1回答

    我正在尋找一種添加到Javascript的非搶先式多線程非常具體形式的方法。 Mozilla的Javascript 1.7支持使用yield的本地協程,但我不喜歡使用瀏覽器特定的解決方案。我看到有幾個continuation或coroutines的實現,它們是基於將帶註釋的Javascript代碼轉換爲純Javascript。一些示例是StratifiedJS,Narrative Javascri

    4熱度

    2回答

    正如我在讀編程F#的書,我發現195頁的示例代碼片段如下: type ContinuationStep<'a> = | Finished | Step of 'a * (unit -> ContinuationStep<'a>) let iter f binTree = let rec linearize binTree cont = match bin

    5熱度

    1回答

    有人能給出一個相對簡單的例子,說明和call-with-current-continuation之間的球拍差異。 我已經完成了call-with-composable-continuation的Racket Guide 10.3的示例,以及Scheme Scheme語言部分3.3中的call-with-current-continuation的示例,但我並不清楚其中的差別。 有人可以舉一個例子,他

    3熱度

    1回答

    我想我得到了延續是(一般)什麼,但我不明白它是如何在方案中使用。 考慮這個例子(維基百科call/cc) (define (f return) (return 2) 3) (display (call/cc f)) ;=> 2 我不明白爲什麼: 延續是隱含的權利? 如何在這種情況下延續?

    4熱度

    1回答

    也許我的問題有一個非常簡單的答案,但我找不到它。 在Scheme R6RS中,我該如何構建一個無所事事,需要任何參數的延續? 我的目標是有一個延續,我們將其命名爲QUIT這樣的,如果我有以下代碼:你 ((lambda() (display 1) (display 2) (QUIT) (displey "A"))) 它preints 1和2,但不是「A」

    1熱度

    2回答

    我有一個長時間運行的操作,我正在使用TPL在後臺線程上。我目前的工作,但我很困惑,我應該在取消請求期間處理我的AggregateException。 在按鈕單擊事件,我開始我的過程: private void button1_Click(object sender, EventArgs e) { Utils.ShowWaitCursor(); buttonCancel.Ena

    1熱度

    1回答

    我一直與Jetty's Continuations API,只是想出了一個非常令人沮喪的bug(* 至少我認爲這是原因*)。 如果我有更多的仔細閱讀,我會看到這一點: 超時前應設置暫停,通過向 continuation.setTimeout(長)的調用;如果未設置超時,則使用默認的 週期。 所以在我的代碼中,我只是暫停了一個延續而沒有設置超時。當我的文檔閱讀本... 的< = 0超時表示繼續將永不

    8熱度

    2回答

    所有,關於上述主題有很多問題,但我相信這是完全不同的,以保證新的問題。我有以下Task和延續處理各種任務Status; TaskStatus.RanToCompletion,TaskStatus.Canceled,當然還有AggregateException,通過TaskStatus.Faulted。代碼看起來像 Task<bool> asyncTask = Task.Factory.StartN

    0熱度

    2回答

    我有一個二進制文件,我想讀取這個文件,如前四個字節,然後下一個5個字節,然後下一個3個字節,直到文件結束。 我能夠使用each_byte讀取文件,但我想按照它們存儲在文件中的順序將所有這些字節分組。 我能夠閱讀這個使用以下行,但不知道如何閱讀固定大小的塊連續。 File.open('myfile','rb') do |file| file.each_byte {|ch| print "#{ch.

    1熱度

    1回答

    我正在創建一個簡單的網絡蜘蛛。它所做的只是接受一個URL,下載HTML並提取剩餘的URL。然後它重複每個新URL的過程。我也確保我不會訪問同一個URL兩次,並限制了併發下載的數量。 在每一個唯一的URL已經耗盡(可以運行幾天,幾周或直到我死了和離開後)之後,我想要執行一個操作,比如更新UI或者簡單地退出應用程序。 問題是,我不知道如何檢測最後一個線程何時完成運行。 此線程問題是否已解決?我在看問題