해시 테이블에 삽입하는 데 문제가있는 것 같습니다. 약 8 개의 스레드를 만들고 각 스레드에서 다음 코드를 수행합니다. 각 thread는 char [] 배열을받습니다. 각 스레드의 작업은이 배열을 토큰 화하는 것입니다 (공백 찾기). 토큰이 발견되면 해시 테이블에 토큰이 없으면 추가해야합니다. 그것이 존재한다면, 그 토큰 (키)의 현재 값에 1을 더해야합니
나는 워드 카운트 프로그램에서 작업하고 있습니다. N 개의 스레드를 만들고 각 스레드는 과 같은 다양한 숫자가 포함 된 char[] 버퍼를받습니다. 키가 숫자 인 곳의지도를 만들고 싶습니다. 값은 나타나는 시간입니다. 아래 그림과 같이 char[] 배열을 정수로 변환합니다. 그러나 putIfAbsent()을 호출 할 때마다 항상 null을 반환합니다. 즉,
TreeMap을 사용하여 tailMap을 얻지 만 동시성 문제가 발생합니다. 그래서 대신 ConcurrentHashMap을 사용하기로 결정했습니다. ConcurrentHashMap에 대해 tailMap을 얻으려면 어떻게해야합니까? ConcurrentHashMap에 map.tailMap(key)과 같은 API가 없습니다. 감사합니다 당신이 인터페이스를 구현하
현재 코드는 for-each Java 5 루프를 사용하여 ConcurrentHashMap을 반복합니다. 아래의 코드에서 암시 적 반복자는 오류 방지이므로 ConcurrentModificationException을 실행하지 않습니다. Map<Long,String> map = new ConcurrentHashMap <Long,String>();
map.put
예를 들어 category1 = {(k1, v1), (k2, v2)} category1 = {(k3, v3)}에 대해 키 값 쌍에 값을 카테고리별로 저장해야합니다. , (k4, v4)} 동시에 액세스 될 수있다. 동시 HashMap을 파티셔닝하는 것처럼 보이지만 사용할 데이터 구조를 정확히 모릅니다. 어떤 생각? 감사
나는 동기화를 코딩하는 동안주의를 기울여야 할 많은 블로그와 기사를 읽었다. 그들은 concashHashMap, synchronizedList 등을 사용할 것을 요청합니다. 자바 웹 응용 프로그램, 응용 프로그램 서버 (예 : jboss, weblogic, tomcat)에서 모든 요청은 별도의 스레드에서 실행됩니다. 메소드 실행 시퀀스 1 -> 메소드 2
내 검색 엔진에 대해 역 색인 파일을 구축 중입니다. 나는 그것을 테스트 할 때, 프로그램이이 부분에 걸리면 그러나 클래스를 작성했습니다 : 나는 위의 위치 코드 블록을 삭제할 때마다 for (final HashObject value: list) {
if(url.equals(value.getUrl()))
value.setFrequenc
우리는 singelton을 얻기위한 코드를 작업 해 왔습니다. 우리는 그것들을 얻으려고 노력합니다. 만약 우리의 콜렉션에 클래스가 존재한다면 그것을 돌려 주어야합니다. 그렇지 않으면 콜렉션에 그것을 저장하고 그것을 콜렉션에 저장합니다. 우리는 double-checked locking을 사용하여 모든 get 작업에서 동기화되지 않도록합니다. 그러나 기사의 많