我以前没有在python工作过.我需要做一个非常简单的2d表面,我可以放置一个箭头然后能够改变箭头的位置和角度.
我开始在tkinter中构建类似的东西,但据我所知,你无法旋转图像.据我所知,只有多边形可以旋转.将箭头绘制为多边形似乎有点过于复杂.
还有其他一些工具更适合这种简单的东西吗?
谢谢
获得对字段的访问的常用方法是同步getter和setter.使用int的简单示例如下所示:
private int foo = 0;
public synchronized int get(){return this.foo;}
public synchronized void set(int bar){ this.foo = bar;}
Run Code Online (Sandbox Code Playgroud)
现在,虽然这是一种使访问线程安全的安全方法,但它也表明一次只能读取一个线程foo.
如果很多线程foo经常读取,并且有时只更新这个变量,那将是一个很大的浪费.相反,getter可以由多个线程同时调用而没有任何问题.
有关于如何处理这个问题的既定模式吗?或者你会如何以最优雅的方式解决这个问题?
据我所知,如果我有一个带有两个过滤器的流,它们将与字节码中的&&结合使用.
例如
IntStream.range(1,10)
.filter(i -> i % 2 == 0)
.filter(i -> i % 3 == 0)
.sum();
Run Code Online (Sandbox Code Playgroud)
会像i%2 == 0 && i%3 == 0.
偷看会影响这个吗?
如果你在第一个文件管理器后偷看你得到2468,如果你偷看第二个,你只得到6(当然).
但如果你偷看这两个地方
IntStream.range(1,10)
.filter(integer -> integer % 2 == 0)
.peek(i-> System.out.print(i))
.filter(integer -> integer % 3 == 0)
.peek(i-> System.out.print(i))
.sum();
Run Code Online (Sandbox Code Playgroud)
你得到24668.
我的假设是,这必然意味着操作在某种程度上是由于窥视调用而分开的.就像是
if(i%2==0)
peek
if(i%3==0)
Run Code Online (Sandbox Code Playgroud)
这是真的,如果是这样会影响性能(我认为不会).
java ×2
2d ×1
bytecode ×1
canvas ×1
concurrency ×1
java-8 ×1
java-stream ×1
performance ×1
python ×1
rotation ×1
synchronized ×1
tkinter ×1