我有几个数据监听器,它们可能大致同时接收数据集。他们将使用其方法$ rm s
$ make s CFLAGS=-fno-builtin-strlen
cc -fno-builtin-strlen s.c -o s
$ LD_PRELOAD=$PWD/strlen.so ./s
43
$ LD_PRELOAD=$PWD/libasm.so ./s
42
迭代数据集并将数据存储到同一ArrayList
。这可能会导致某些数据项的任何问题无法存储吗?
答案 0 :(得分:2)
ArrayList
未同步。来自docs
请注意,此实现未同步。如果有多个线程 同时访问一个ArrayList实例,并且至少有一个 线程在结构上修改列表,必须同步 外部。 (结构修改是添加或的任何操作 删除一个或多个元素,或显式调整后备数组的大小; 仅设置元素的值不是结构 修改。)
您可以将synchronizedList用于此
List list = Collections.synchronizedList(new ArrayList(...));
答案 1 :(得分:0)
在这种情况下,您可以使用synchronized块:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.jjoe64.graphview.GraphView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/graph" />
</LinearLayout>
您可以在Synchronized
找到一个很好的例子