I am having some trouble with my code, and the main problem is that im not sure what the problem is. I have a fairly standard game -> canvas -> layer manager setup with 2 threads, one for key checking and one for normal movement setup. The game is tetris by the way. the problem is, it works well until i happen to be holding the down button and completing a line at the same time, i have tried to figure this out but it makes no sense, i have written synchronized in all the right places (i think) and everything like that but it still does some pretty weird stuff.
If anyone would like to look at this i would greatly appreciate it, someone with more of an understanding of threads would be awesome. and maybe even a little reward for an explaination.