如果ThreadPool已满,则如何使Action.BeginInvoke生成非线程池线程(If ThreadPool is full, how to make Action.BeginInvoke spawn a non threadpool thread)
在.net 3.5
尝试
ThreadPool.QueueUserWorkItem(a=> {Work()});
当ThreadPool没有可用的线程导致BeginInvoke锁定时。void Work() { Action executor = () = { DoSomething(); }; IAsyncResult result = executor.BeginInvoke(null, null); using (WaitHandle hWait = result.AsyncWaitHandle) { if (hWait.WaitOne(timeoutMilliseconds)) { executor.EndInvoke(result); } else { throw new ImDyingException(); } } }
如何使BeginInvoke使用非池化线程?
In .net 3.5
trying to
ThreadPool.QueueUserWorkItem(a=> {Work()});
when the ThreadPool has no available threads caused BeginInvoke lock up.void Work() { Action executor = () = { DoSomething(); }; IAsyncResult result = executor.BeginInvoke(null, null); using (WaitHandle hWait = result.AsyncWaitHandle) { if (hWait.WaitOne(timeoutMilliseconds)) { executor.EndInvoke(result); } else { throw new ImDyingException(); } } }
How can I make the BeginInvoke use a non-pooled thread?
原文:https://stackoverflow.com/questions/579794
最满意答案
你正在寻找这个。 它可以为您提供所需的结果
SELECT mycol, CONCAT('L.', mycol) AS newCol FROM(SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURCE_ID|LAST_MODIFIED_BY|LAST_MODIFIED_DATE|ATTRIBUTE[0-9]+') as temp
说明
SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURCE_ID|LAST_MODIFIED_BY|LAST_MODIFIED_DATE|ATTRIBUTE[0-9]+')
这将查找具有
DATA_SOURCE_ID
或LAST_MODIFIED_BY
或LAST_MODIFIED_DATE
或ATTRIBUTE
后跟任何数字的所有行SELECT mycol, CONCAT('L.', mycol) AS newCol
这会将
L.
添加到子查询找到的所有行。OUTPUT
L.DATA_SOURCE_ID, L.LAST_MODIFIED_BY, L.LAST_MODIFIED_DATE, L.ATTRIBUTE13, L.ATTRIBUTE14, L.ATTRIBUTE15, L.ATTRIBUTE16, L.ATTRIBUTE17, L.ATTRIBUTE18, L.ATTRIBUTE19, L.ATTRIBUTE20, L.ATTRIBUTE21, L.ATTRIBUTE22, L.ATTRIBUTE23, L.ATTRIBUTE24, L.ATTRIBUTE25, L.ATTRIBUTE26, L.ATTRIBUTE27, L.ATTRIBUTE28, L.ATTRIBUTE29, L.ATTRIBUTE30
希望这可以帮助
You are looking for this. It gives you your desired result
SELECT mycol, CONCAT('L.', mycol) AS newCol FROM(SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURCE_ID|LAST_MODIFIED_BY|LAST_MODIFIED_DATE|ATTRIBUTE[0-9]+') as temp
EXPLANATION
SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURCE_ID|LAST_MODIFIED_BY|LAST_MODIFIED_DATE|ATTRIBUTE[0-9]+')
This finds all rows that either have
DATA_SOURCE_ID
orLAST_MODIFIED_BY
orLAST_MODIFIED_DATE
orATTRIBUTE
followed by any numberSELECT mycol, CONCAT('L.', mycol) AS newCol
This adds
L.
to all the rows that has been found by the subquery.OUTPUT
L.DATA_SOURCE_ID, L.LAST_MODIFIED_BY, L.LAST_MODIFIED_DATE, L.ATTRIBUTE13, L.ATTRIBUTE14, L.ATTRIBUTE15, L.ATTRIBUTE16, L.ATTRIBUTE17, L.ATTRIBUTE18, L.ATTRIBUTE19, L.ATTRIBUTE20, L.ATTRIBUTE21, L.ATTRIBUTE22, L.ATTRIBUTE23, L.ATTRIBUTE24, L.ATTRIBUTE25, L.ATTRIBUTE26, L.ATTRIBUTE27, L.ATTRIBUTE28, L.ATTRIBUTE29, L.ATTRIBUTE30
Hope this helps
相关问答
更多-
下列中不属于面向对象的编程语言的是?[2022-05-30]
a -
:&&命令重复使用相同标志的最后一次替换。 您可以为其提供附加范围(并且根据需要连接多个): :6,10s/
/ /g | 14,18&& 如果你有很多的范围 ,我宁愿使用一个循环: :for range in split('6,10 14,18')| exe range 's/ / /g' | endfor The :&& command repeats the last substit ... -
这将从任何引用的单词附近删除单引号,并且仅留下其他引号: sed -E "s/'([a-zA-Z]*)'/\1/g" 测试时: foo 'bar' it's 'OK' --> foo bar it's OK 请注意,它保留了完整的报价。 说明: 搜索正则表达式'([a-zA-Z]*)'与引号括起来的任何单词(字母,无空格)匹配并使用括号,它捕获单词中的单词。 替换正则表达式\1引用“组1” - 第一个被捕获的组(即搜索模式中的括号内的组) - 该单词) 供参考,这是测试: echo "foo 'bar ...
-
你应该使用看起来像山雀的正则表达式: regexp_replace(string, '(.)(.)', '\2\1') 小提琴 You should use regex that looks like a tits: regexp_replace(string, '(.)(.)', '\2\1') fiddle
-
来自Tech on the Net的以下内容可能会有所帮助: REPLACE('用户住宅名称为ABC','住宅名称','门牌号'); 将返回'用户门牌号码是ABC' REPLACE('123tech123','123'); 会回归'科技' REPLACE('222tech','2','3'); 会回归'333tech' REPLACE('0000123','0'); 将返回'123' REPLACE('House Name','House Name','House Number'); 将返回'门牌号' Th ...
-
尝试使用直接分配: for key in d: li = d[key] for i,item in enumerate(li): li[i] = d_find_and_replace.get(item, item) Try just using direct assignation: for key in d: li = d[key] for i,item in enumerate(li): li[i] = d_find_and_replac ...
-
你正在寻找这个。 它可以为您提供所需的结果 SELECT mycol, CONCAT('L.', mycol) AS newCol FROM(SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURCE_ID|LAST_MODIFIED_BY|LAST_MODIFIED_DATE|ATTRIBUTE[0-9]+') as temp 说明 SELECT * FROM test WHERE mycol REGEXP 'DATA_SOURC ...
-
Oracle REGEXP_REPLACE用空字符串替换中间的空格(Oracle REGEXP_REPLACE replace space in middle with empty string)[2022-10-07]
[:alphanum:] alphanum是不正确的。 字母数字字符类是[[:alnum:]] 。 您可以在REGEXP_REPLACE中使用以下模式 : ([[:alnum:]]{4})([[:space:]]{1})([[:digit:]]{3})([[:space:]]{1})([[:alpha:]]{3}) 使用REGEXP SQL> SELECT REGEXP_REPLACE('R4SX 315 GFX', 2 '([[:alnum:]]{4}) ... -
我为有兴趣的人写了一个小函数: CREATE OR REPLACE FUNCTION SA.REPLACE_VARIABLES (p_sql IN VARCHAR2) RETURN VARCHAR2 IS vs_return VARCHAR2 (4000); -- Deklarationen vs_sql VARCHAR2(4000); vs_substring VARCHAR2(40 ...
-
Oracle REGEXP_REPLACE替换;(Oracle REGEXP_REPLACE replacing ; delimited strings with quoted strings)[2022-06-23]
我不认为你在这里需要regexp_replace ,一个简单的replace应该就足够了。 您似乎只想用字符串“','”替换分号,然后在字符串之前和之后添加单引号。 select q'{'}' || replace( '123;234;345;123', ';', q'{','}' ) || q'{'}' from dual I don't think you need regexp_replace here, a simple replace should be suff ...