«thread-safety» 태그된 질문

코드 조각은 여러 스레드에서이 코드를 일관되게 실행할 수있는 방식으로 데이터 구조를 조작하는 경우에만 스레드로부터 안전합니다. 코드는 스레드 안전, 조건부 안전 (상호 배제 필요) 또는 안전하지 않을 수 있습니다 (하나의 스레드에서만 안전하게 사용할 수 있음).

11
스레드 세이프는 무엇을 의미합니까?
최근에 UI 스레드가 아닌 스레드에서 텍스트 상자에 액세스하려고했지만 예외가 발생했습니다. "코드가 스레드로부터 안전하지 않다"는 내용이 나와서 결국 위임 (MSDN의 샘플이 도움이 됨)을 작성하고 대신 호출했습니다. 하지만 그래도 모든 추가 코드가 필요한 이유를 이해하지 못했습니다. 업데이트 : 확인하면 심각한 문제가 발생합니까? Controls.CheckForIllegalCrossThread..blah =true

15
스레드로부터 안전한 List <T> 속성
List&lt;T&gt;의문의 여지없이 스레드에서 안전하게 사용할 수있는 속성으로 의 구현을 원합니다 . 이 같은: private List&lt;T&gt; _list; private List&lt;T&gt; MyT { get { // return a copy of _list; } set { _list = value; } } 여전히 컬렉션의 복사본 (복제 된)을 반환해야하는 것 같으므로 어딘가에 컬렉션을 반복하고 동시에 컬렉션이 설정되면 …



8
스레드로부터 안전한 사전을 구현하는 가장 좋은 방법은 무엇입니까?
IDictionary에서 파생하고 개인 SyncRoot 개체를 정의하여 C #에서 스레드로부터 안전한 사전을 구현할 수있었습니다. public class SafeDictionary&lt;TKey, TValue&gt;: IDictionary&lt;TKey, TValue&gt; { private readonly object syncRoot = new object(); private Dictionary&lt;TKey, TValue&gt; d = new Dictionary&lt;TKey, TValue&gt;(); public object SyncRoot { get { return syncRoot; } } public void Add(TKey key, TValue …


3
Python 사전의 스레드 안전성
사전이있는 수업이 있습니다. class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders 그리고 메서드를 호출하는 4 개의 스레드 (각 레스토랑에 대해 하나씩)를 실행하고 있습니다 OrderBook.addOrder. 다음은 각 스레드에서 실행되는 함수입니다. def addOrders(restaurant_name): #creates orders ... OrderBook.addOrder(restaurant_name, orders) 안전합니까, 아니면 전화하기 …

2
SecureRandom 스레드는 안전합니까?
가 SecureRandom스레드 안전은? 즉, 초기화 후 다음 난수에 대한 액세스가 스레드 안전을 위해 신뢰할 수 있습니까? 소스 코드를 살펴보면 이것이 사실임을 알 수 있으며, 이 버그 보고서 는 스레드로부터 안전한 문서가 부족하다는 것이 javadoc 문제임을 나타내는 것 같습니다. 실제로 스레드로부터 안전하다는 것을 확인한 사람이 있습니까?

3
플라스크에서 전역 변수는 스레드로부터 안전합니까? 요청간에 데이터를 공유하려면 어떻게합니까?
내 앱에서 공통 객체의 상태는 요청을 통해 변경되며 응답은 상태에 따라 다릅니다. class SomeObj(): def __init__(self, param): self.param = param def query(self): self.param += 1 return self.param global_obj = SomeObj(0) @app.route('/') def home(): flash(global_obj.query()) render_template('index.html') 내 개발 서버에서 이것을 실행하면 1, 2, 3 등을 얻을 것으로 예상됩니다. 100 개의 서로 …

4
별도의 스레드에서 실행되는 iPhone iOS
별도의 스레드에서 코드를 실행하는 가장 좋은 방법은 무엇입니까? 그것은 : [NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL]; 또는: NSOperationQueue *queue = [NSOperationQueue new]; NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(doStuff:) object:nil; [queue addOperation:operation]; [operation release]; [queue release]; 나는 두 번째 방법을 사용했지만 내가 읽은 Wesley Cookbook은 첫 번째 방법을 사용합니다.


7
JUnit 테스트를 기다리려면 어떻게해야합니까?
동 기적으로 일정 시간 동안 기다리려는 JUnit 테스트가 있습니다. 내 JUnit 테스트는 다음과 같습니다. @Test public void testExipres(){ SomeCacheObject sco = new SomeCacheObject(); sco.putWithExipration("foo", 1000); // WAIT FOR 2 SECONDS assertNull(sco.getIfNotExipred("foo")); } 시도 Thread.currentThread().wait()했지만 예상대로 IllegalMonitorStateException이 발생 합니다. 트릭이 있습니까 아니면 다른 모니터가 필요합니까?

3
루비에서 스레드로부터 안전하지 않은 것이 무엇인지 아는 방법?
Rails 4 부터 모든 것이 기본적으로 스레드 환경에서 실행되어야합니다. 이것이 의미하는 것은 우리가 작성하는 모든 코드 와 우리가 사용하는 모든 gem은threadsafe 그래서 이것에 대해 몇 가지 질문이 있습니다. 루비 / 레일에서 스레드로부터 안전하지 않은 것은 무엇입니까? Vs 루비 / 레일에서 스레드로부터 안전한 것은 무엇입니까? 보석의 목록이 거기에 있다 스레드가 알려진 …



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.