reentrancy

    0熱度

    1回答

    我讀通過Python文檔,並且,Section 8.4.1下, 我發現下面__init__定義(略): class ListBasedSet(collections.abc.Set): ''' Alternate set implementation favoring space over speed and not requiring the set elements to

    0熱度

    2回答

    我對「可重入函數」的理解是,它是一個可以被中斷的函數(例如,通過ISR或遞歸調用),並且稍後恢復,從而函數的總輸出不受任何影響通過中斷的方式。 以下是從維基百科https://en.wikipedia.org/wiki/Reentrancy_(computing) int t; void swap(int *x, int *y) { int s; s = t; // s

    0熱度

    2回答

    我目前正在初始化堆棧以接收中斷時需要服務的任務。例如,有兩個任務會以不同的週期調用,但是這兩個任務都使用相同的ISR。採樣率較高的任務應該中斷較低的採樣率任務並輸入相同的ISR。目前我正在爲任務分配堆棧,並在完成時釋放堆棧內存。不過,我想知道MSP430是否自己處理重入問題,這樣我就不需要創建和刪除堆棧,保存和恢復上下文。

    0熱度

    1回答

    這個問題來自Java實踐中的併發實例。在本書的第二章中,我們得到了一個這樣的例子,我沒有完全複製它。比方說,我們的代碼 class A{ synchronized void method1(){ do some stuff.. } } class B extends A{ synchronized void method1(){ super.metho

    -1熱度

    2回答

    我開發了一個基於gcc的原子內置函數的可重入函數。不幸的是,我得到「計算,但不使用」的價值觀神祕警告: $ gcc -c -Wall ss.c ss.c: In function ‘ss_wrapper’: ss.c:87:3: warning: value computed is not used [-Wunused-value] __atomic_exchange_n(&ss_t

    2熱度

    1回答

    如果你有一個函數庫f_func(),你知道它不是可重入的,你將如何在線程環境(POSIX)中使用它?您無法訪問庫的源代碼。

    5熱度

    4回答

    我在讀一本書,名爲Linux系統編程。從這本書引用: 那麼系統調用和其他庫函數呢?如果您的 進程正在寫入文件或分配內存, 和信號處理程序寫入同一文件或調用malloc()?有些功能顯然不可重入。如果一個程序在執行不可重入函數併發生信號的中間,並且 信號處理程序然後調用相同的不重要函數,那麼混亂 可能隨之發生。 但隨後將遵循: 保證-入函數 保證是安全的 重入函數在信號 這裏的一些功能使用.. 寫(

    2熱度

    3回答

    像標題所示: 如果我有一個靜態成員函數,它本身不包含靜態變量的類,我可以考慮成員函數可重入嗎?

    6熱度

    1回答

    我看過這表明SemaphoreSlim將限制一段代碼,以通過每次只有1線程運行,如果您將其配置爲SemaphoreSlim SemaphoreSlim MSDN 文檔: SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1, 1); 然而,這不是」 t表示是否停止相同的線程訪問該代碼。這與異步和等待。如果在方法中使用await,則控制權將離開該方

    3熱度

    2回答

    這裏Java併發是折返「在實踐中的Java併發」抱死一些示例代碼: class Widget { public synchronized void doSomething() { System.out.println(toString() + ": calling superclass doSomething"); } } class LoggingWidget exten